Centos7 + uwsgi + nginxの展開Djangoプロジェクト

何度も試みたが、最終的にはその背後にある問題の多くが解決策を与える遭遇中盤centos7 + uwsgi + nginxの完全な構成にできた後。

いくつかの単語の男は、プロジェクトの設定を始め、言いました:

1、簡単な紹介

原理を導入:ウェブ開発と展開の経験のために、わずかに学生が知っておくべき、ウェブアプリケーションのデプロイメント本番環境のために、上にある必要があり、Webアプリケーション+ Webアプリケーションサーバーソフトウェア+ Webサーバーソフトウェアを組み合わせ操作。Webアプリケーション、名前が示すようには、Java Webプロジェクト、DjangoのプロジェクトやPHPプロジェクトすることができ、あなたのWebプロジェクト、あるWebアプリケーション・サーバ・ソフトウェアなど、あなたのTomcatサーバーのJavaの使用、使用ジャンゴuwsgiサーバー、通常の条件下などの場所のWebアプリケーションを実行します唯一のアプリケーション・サーバ・ソフトウェアでサービスを提供できるWebプロジェクトを展開する必要があります。しかし、すべての(この場合は外部かどうかを要求、動的または静的な要求要求)ユーザのような少数の場合には、ウェブ・アプリケーション・サーバ・ソフトウェアによって処理されるが、実際には十分であるが、ときに、ユーザーの数が増加し、バランスの取れた配信サーバの負荷が、必然的に、アクセス状況に深刻な影響を予測できないピークが現れるつながることをされない場合、サーバーシステム上で考慮に負荷を取ることが必要です。そして、私たちのあるウェブサーバソフトウェアが場に出たとき、およびWebサーバソフトウェアはもちろん、有名なApacheとnginxのは、一般的であり、アプリケーション・サーバ・ソフトウェアと一緒にそれらを使用し、我々は簡単にウェブサイトを達成することができ、静的および動的な分離、静的ファイルをリクエストと利きapahceのnginxのは、動的な要求が適切なのnginxのApacheとハンドルへのアプリケーション・サーバ・ソフトウェアに転送されます。

それはここCentos7 + python3.6.8 + django2.2.4採用されています

2、依存関係をインストール

以下の依存関係をインストールし、その後のコンパイルは多少の誤差パイソン、ピップ、ジャンゴとするときuwsgiソフトウェアをインストールしないようにしてください。

  sudo yum groupinstall "Development tools"
  sudo yum install openssl openssl-devel sqlite-devel zlib-develbzip2-devel  ncurses-devel readline-devel tk-devel 
  sudo yum install pcre pcre-devel pcre-static

3、Python環境準備(そうでない場合は、仮想環境のpython、はい、スキップ、を参照することができます)

(1)仮想環境をインストールします

アナコンダは、仮想環境を構成するために使用することができます:Anacondaインストール

私がここに持っている仮想環境設定の名前は次のとおりです。python3.6.8環境py368の使用

(2)Djangoの依存関係をインストール

pip install django -i https://pypi.douban.com/simple

4、uwsgiサービス

(1)インストールuwsgi

  sudo pip install uwsgi

Djangoプロジェクトのルートディレクトリ(とmanage.pyと同じディレクトリ)に(2)

9007コロンの前にポート番号を追加することを忘れないで、自分のポート番号を設定することができます

  uwsgi --http :9007 --module your_proj_name.wsgi

この時点で、このプロジェクトは、私たちがこのポートを介してサイトにアクセスすることができた、開始しました。そのWebアプリケーション・サーバ・ソフトウェアのインストールは完了です。

5、展開nginxの

(1)インストールnginxの

  sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm #安装nginx yum源
  sudo yum info
  sudo yum install nginx

(2)設定nginxの起動プロファイル

/etc/nginx/nginx.confファイルがディレクトリ/etc/nginx/conf.d/ですべての設定ファイルが含まれますので、管理コンフィギュレーション・ファイルを容易にするために、我々は/etc/nginx/conf.d/の下に自分のWebを作成しますこうした新しいmy_site.confファイルとしてプロジェクトの設定ファイル、。設定ファイルでは、我々は(easy_sysmanは私のプロジェクト名です)次の情報を入力します。

server {
  listen 9008;  #启动的nginx进程监听请求的端口
  server_name localhost;  #域名
  error_log /var/log/easy_sysman/error.log;   #nginx错误日志,可自行设置,但必须保证提前建立好该目录和文件
  location / {
    include /etc/nginx/uwsgi_params;  
    uwsgi_pass 127.0.0.1:9007;  #对于动态请求,转发到本机的9090端口,也就是uwsgi监听的端口
  }
  #error_page 404 /404.html;
  error_page 500 502 503 504 /50x.html;  
  location = /50x.html {
     root /usr/share/nginx/html;
  }
  location /static/ {
    alias /project/djgDemo/static/;   #设定静态文件所在目录
  }
  location /media/ {  
    alias /project/djgDemo/static;    #同样自行设置,要保证目录已经建好
  }
}

(3)プロファイルが書かれた、私たちは、コンフィギュレーション・ファイルの正しさを確認する必要があり

nginx -t -c /etc/nginx/nginx.conf 

nginxの下に設定されたディレクトリに(4)同期の静的ファイル

最初のDjangoプロジェクトsetting.py、増加を変更

 STATIC_ROOT = '/var/www/easy_sysman/static/'

コマンドライン入力で

 python manage.py collectstatic  

すべての静的ファイルがインデックスディレクトリへのnginxを自動的にコピーします。

(5)スタートuwsgi:

Aは、Djangoのプロジェクトディレクトリに切り替え

uwsgi --socket :9007 --module easy_sysman.wsgi

ここではあなたが参照することができ、開始するには、より複雑な設定ファイルを使用することができますuwsgiをツーラン-with- -INIファイル

次のようにBは、もちろん、私は、プロファイルモードをお勧めします。

次のように同じディレクトリにManage.py、ファイルuwsgi.iniを作成するには、読み取ります。

# 使用uwsgi+nginx反向代理配置,使用socket完成nginx和uwsgi的连接
socket = localhost:9999
# 通过chdir选项配置当前项目所在路径
chdir = /home/worker/django_worker/mysite
# 通过wsgi-file配置,指向当前项目的wsgi实现文件
uwsgi-file = mysite/wsgi.py
# 主进程启用~使用主进程管理所有进程
master = True
# 配置保存主进程编号的文件
pidfile = uwsgi.pid
# 配置启动多少个进程
processes = 2
# 配置每个进程启动多少个线程
threads = 2
# 配置uwsgi服务器的日志记录
daemonize = uwsgi.log

スタートuwsgiサーバー

uwsgi --ini uwsgi.ini

(6)nginxの開始します

sudo service nginx start 

あなたはアクセスできる  サーバーのIPを:9008 /ページが表示されることが、間違った内容に少し修正を/var/log/easy_sysman/error.logチェックしていない場合。

このサービスは次のように表すことができる方法を提供します:

Webクライアント< - > Webサーバ< - >ソケット< - > uWSGI < - >ジャンゴ

6、Ubuntuはuwsgiエラーソリューションをインストール

1 https://www.cnblogs.com/xypbk/p/10150059.html 

2、Linuxの下部署ジャンゴuwsgi:エラー共有ライブラリをロード中:libpcre.so.1:共有オブジェクトファイルを開くことはできません:そのようなファイルまたはディレクトリを

Ubuntuの下のDjangoの導入サービスは、uwsgiの使用を与えられています

命令:uwsgi --http :8001 --wsgi-file test.py

报错信息:uwsgi:エラー共有ライブラリをロード中:libpcre.so.1:共有オブジェクトファイルを開くことはできません:そのようなファイルまたはディレクトリを

 

ソリューション:

パッケージはsudo apt-getのインストールのlibpcre3 libpcre3- DEV# のインストールに必要な

のfind / -name libpcre.so.3#(一般的にルートディレクトリ/ libに/ x86_64の-のlinux-gnuの中libpcre.so.3を見つける )

/ libに/ x86_64の発見GNU - linuxの/ libpcre.so.3

にsudo -s /lib/x86_64-linux-gnu/libpcre.so.3 /usr/lib/libpcre.so.1 LN#ソフトリンクを作ります

 

公開された84元の記事 ウォンの賞賛149 ・は 50000 +を見て

おすすめ

転載: blog.csdn.net/feifeiyechuan/article/details/103100165
おすすめ