django2.0 uwsgi nginx

[TOC]
# 1.安裝pip
```
sudo apt-get update
sudo apt-get install python-pip
```
# 2.使用pip 安裝virtualenv 和 virtualenvwrapper
```
sudo pip install virtualenv virtualenvwrapper
```
# 3.配置環境變量
```
echo "export WORKON_HOME=~/Env" >> ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrcpython

# 若是是zsh
# echo "export WORKON_HOME=~/Env" >> ~/.zshrc
# echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.zshrc
```
# 4.配置生效
```
source ~/.bashrcnginx

# 若是是zsh
#source ~/.zshrc
```
# 5.建立虛擬目錄django


```
# python 2.7 默認
mkvirtualenv python_healthbash

# 指定 python 3.5
mkvirtualenv -p /usr/bin/python3.5 python_mallapp

```
# 6.安裝django 等其餘包
```
# pip install django
# ... ...
pip install -r requirements.txt
```
# 7.退出virtualenv環境
```
deactivate
```
若是您想再次進入能夠` workon python_health
# 8.安裝uWSGI
```
sudo apt-get install python-dev
sudo pip install uwsgi
```
# 9.設置配置文件
```
sudo mkdir -p /etc/uwsgi/sites
cd /etc/uwsgi/sites
```
# 10.編寫項目ini文件
```
sudo vi python_health.ini
```
```
[uwsgi]
project = python_health
uid = teresa
base = /home/%(uid)socket

chdir = %(base)/%(project)
home = %(base)/Env/%(project)
module = %(project).wsgi:applicationui

master = true
processes = 5unix

socket = /run/uwsgi/%(project).sock
chown-socket = %(uid):www-data
chmod-socket = 660
vacuum = true
```
# 11. 建立系統unit file 爲uWSGI
```
sudo vi /etc/systemd/system/uwsgi.service
```
```
[Unit]
Description=uWSGI Emperor servicerest

[Service]
ExecStartPre=/bin/bash -c 'mkdir -p /run/uwsgi; chown teresa:www-data /run/uwsgi'
ExecStart=/usr/local/bin/uwsgi --emperor /etc/uwsgi/sites
Restart=always
KillSignal=SIGQUIT
Type=notify
NotifyAccess=allserver

[Install]
WantedBy=multi-user.target
```
# 12.配置nginx
```
sudo apt-get install nginx
sudo vi /etc/nginx/sites-available/python_health
```

```server { listen 80; server_name baigedata.cn; location = /favicon.ico { access_log off; log_not_found off;} location /static/ { root /home/teresa/python_health; } location /media/ { root /home/teresa/python_health; } location / { include uwsgi_params; uwsgi_pass unix:/run/uwsgi/python_health.sock; }}```# 13.建立軟鏈接到enabled目錄```sudo ln -s /etc/nginx/sites-available/python_health /etc/nginx/sites-enabled```重複一遍檢查是否存在# 14.重啓nginx```sudo systemctl restart nginx```# 15 啓動uwsgi```sudo systemctl start uwsgi```# 16 自動啓動```sudo systemctl enable nginxsudo systemctl enable uwsgi```

相關文章
相關標籤/搜索