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