Debian8 使用 uWSGI Emperor
和 Debina7 是不同的。相關問題,能夠直接查看本篇文章的第4步。html
注意:本篇文章是在服務器中用 root 帳號執行的。文章主要講相關配置文件,安裝方法請自尋。
-----更新------
2017年9月8日更新:更正運行服務的代碼python
uWSGI
配置文件 /home/luejiao.com/luejiao_uwsgi.ini
[uwsgi] # 指向網站目錄 base = /home/luejiao.com # 啓動文件 wsgi-file = run.py module = app # 虛擬目錄 home = %(base)/flask # 按字面意思是python的環境變量路徑,寫的是網站根目錄 pythonpath = %(base) #socket文件的路徑 socket file's location socket = /home/luejiao.com/tmp/%n.sock #pchmod-socket的權限 ermissions for the socket file chmod-socket = 644 #the variable that holds a flask application inside the module imported at line #6 callable = app #日誌文件的路徑 location of log files logto = /wwwlogs/uwsgi/%n.log # 處理器數 processes = 4 # 線程數 1threads = 2 # 修改代碼時,自動重啓uwsgi服務 python-autoreload=1
mkdir -p /wwwlogs/uwsgi chown -R www:www /wwwlogs/uwsgi
location / { try_files $uri @yourapplication; } location @yourapplication { include uwsgi_params; uwsgi_pass unix:/home/luejiao.com/tmp/luejiao_uwsgi.sock;# 這裏注意替換成本身的socket文件路徑 }
下面是重頭戲,debian8 和 debian7 在配置 uWSGI Emperor
是不同的!!!
debian7 是把配置文件放到 /etc/init/uwsgi.conf
,而在 debian8 中,是放到 /etc/systemd/system/
中的。
本文章是講 debian8 的環境下配置 uWSGI Emperor
。 官方對應文檔nginx
/etc/systemd/system/emperor.uwsgi.service
文件,代碼以下:[Unit] Description=uWSGI Emperor After=syslog.target [Service] #uwsgi 服務的路徑,以及須要啓動的 ini 文件路徑,根據本身的實際狀況進行修改 ExecStart=/usr/local/bin/uwsgi --ini /etc/uwsgi/emperor.ini # Requires systemd version 211 or newer RuntimeDirectory=uwsgi Restart=always KillSignal=SIGQUIT Type=notify StandardError=syslog NotifyAccess=all [Install] WantedBy=multi-user.target
/etc/uwsgi/emperor.ini
文件的代碼以下:[uwsgi] emperor = /etc/uwsgi/vassals uid = www gid = www
/etc/uwsgi/vassals/
文件夾中:mkdir /etc/uwsgi && mkdir /etc/uwsgi/vassals ln -s /home/luejiao.com/luejiao_uwsgi.ini /etc/uwsgi/vassals
www:www
,咱們要給對應的文件夾和文件作全部者權限修改(這一步根據實際狀況來判斷是否須要):chown -R www:www /home/luejiao.com chown -R www:www /var/log/uwsgi/
debian7 開啓服務的代碼是:service uwsgi start
debian8 的代碼是flask
systemctl start emperor.uwsgi.service systemctl stop emperor.uwsgi.service systemctl status emperor.uwsgi.service