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環境をインストールする:
コンパイルインストール:
次の2つの最初の行の内容の後に「2.7」を付けます.
第二:仮想環境のインストール仮想環境:pip install virtualenvインストールが完了したら、cd/home/python virtualenv venv会報:bash:virtualenv:command not foundこの場合、findコマンドでvirtualenvインストールディレクトリfind/-name virtualenvを検索し、/usr/local/python 3/bin/virtualenvディレクトリで実行
仮想環境mysiteが作成されましたenv
ステップ3:uwsgiのインストール
uwsgiでアクセスできるかどうかを確認します.
uwsgi.iniは次のように構成されています.
ini:正常クローズuwsgiプロセス:
最後に「STATIC_ROOT='/home/mysite/static/'」をsettinsから削除します.そうしないと起動がエラーになります.
ステップ5:nginxのインストール
起動:./nginx以下は停止、リロードなどの一般的なコマンド:./nginx-s stop./nginx-s quit./nginx-s reload(注意:レポートポート80が占有されている場合:1、yum install net-tools 2、ps aux|grep nginx)
nginx構成を変更するには、次の手順に従います.
djangoの起動
(lsof-i:[:8001]8001ポートを占有するプロセスを見つけることができます)nginxを再ロードします.
第一: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