CentOS 7はuwsgi+NginxでDjango 2.0の超詳細ステップを配備

3151 ワード

まず:/home/mysiteは私のdjangoプロジェクト、/home/mysite_Envは仮想環境であり、Django 2.0、uwsgi、Nignxが必要です.Django 2以上であれpython 3.7などであれば、このチュートリアルを使用できます.
第一:python 3.5.2環境をインストールする:
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz

コンパイルインストール:
./configure prefix=/usr/local/python3
make && make install

ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

次の2つの最初の行の内容の後に「2.7」を付けます.
vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down

第二:仮想環境のインストール仮想環境:pip install virtualenvインストールが完了したら、cd/home/python virtualenv venv会報:bash:virtualenv:command not foundこの場合、findコマンドでvirtualenvインストールディレクトリfind/-name virtualenvを検索し、/usr/local/python 3/bin/virtualenvディレクトリで実行
/usr/local/python3/bin/virtualenv mysite_env

仮想環境mysiteが作成されましたenv
cd mysite_env

source bin/activate

pip install django==2.0 

ステップ3:uwsgiのインストール
pip install uwsgi

uwsgiでアクセスできるかどうかを確認します.
uwsgi --http 127.0.0.1:8001 --chdir /home/mysite --home /home/mysite_env --module mysite.wsgi:application

uwsgi.iniは次のように構成されています.
[uwsgi]
chdir = /home/mysite #   
home = /home/mysite_env #       
module = mysite.wsgi:application

master = True
processes = 10
harakiri = 60
max-requests = 5000

http = 127.0.0.1:8001 #   http  

vacuum = True
daemonize = /home/mysite/mysite_uwsgi/uwsgi.log
pidfile = /home/mysite/mysite_uwsgi/uwsgi.pid

ini:正常クローズuwsgiプロセス:uwsgi --stop /home/mysite_uwsgi/master.pid強制クローズ全uwsgiプロセス:ps -aux | grep uwsgi |awk '{print $2}'|xargs kill -9ステップ4:静的ファイルはdjangoプロジェクトを書いてパッケージングしてサーバーにアップロードして、setting.py ALLOWED_を修正しますHOSTS=['*',]#すべてのipがdjangoプロジェクトDEBUG=FalseにアクセスできるようにするDEBUGモードSTATIC_をオフにするROOT=’/home/mysite/static/’#静的ファイル格納を構成するディレクトリdjangoプロジェクトの静的ファイルを分離
python manage.py collectstatic

最後に「STATIC_ROOT='/home/mysite/static/'」をsettinsから削除します.そうしないと起動がエラーになります.
ステップ5:nginxのインストール
wget http://nginx.org/download/nginx-1.14.2.tar.gz
tar -zxvf nginx-1.14.2.tar.gz
cd nginx-1.14.2.tar.gz/
./configure --prefix=/usr/local/nginx
make && make install
cd /usr/local/nginx/sbin/

起動:./nginx以下は停止、リロードなどの一般的なコマンド:./nginx-s stop./nginx-s quit./nginx-s reload(注意:レポートポート80が占有されている場合:1、yum install net-tools 2、ps aux|grep nginx)
nginx構成を変更するには、次の手順に従います.
 server {
     listen       80;
     server_name  localhost;
    location / {
     root /home/CMS;
     include uwsgi_params;
     proxy_pass http://127.0.0.1:8000;
     uwsgi_read_timeout 30;
        }
location /static {
     autoindex on;
     alias /home/mysite/static/;  #        
          }

djangoの起動
uwsgi --ini uwsgi.ini

(lsof-i:[:8001]8001ポートを占有するプロセスを見つけることができます)nginxを再ロードします.
./nginx -s reload