问题:启动uwsgi出现!!! no internal routing support, rebuild with pcre support !!!
执行:killall -s INT /usr/local/bin/uwsgi
- uWSGI是一个web服务器,实现了uwsgi、wsgi、http协议,是一种线路协议而不是通信协议,通常用于uWSGI服务器与其它网络服务器通信
- nginx的HttpUwsgiModule的作用是与uwsgi服务器进行交换
- WSGI(web server gateway interface)是一种web服务网关接口,是web服务器(nginx、uWSGI)与web应用通信的一种规
django uswgi 配置
- uswgi配置文件
- nginx配置
- 通过配置文件启动服务
uwsgi --ini 配置文件路径
(虚拟环境python版本需要和开发环境的python版本一致,必须在虚拟环境下使用pip3安装uwsgi,否则可能会启动失败) - 启动nginx
# uswgi配置文件
[uwsgi]
# 设置uwsgi 启动用户,不设置也可,会有警告,也可以设置为当前登录的用户
uid = nginx
gid = nginx
#使用nginx连接时使用,django程序所在服务器地址
socket=127.0.0.1:8000
#直接做web服务器使用,django程序所在服务器地址
#http=0.0.0.0:8080
#项目目录
chdir=/opt/luffy/luffy
#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=luffy/wsgi.py
# 进程数
processes=1
# 线程数
threads=2
# uwsgi服务器的角色
master=true
# 存放进程编号的文件
pidfile=uwsgi.pid
# 日志文件,因为uwsgi可以脱离终端在后台运行,日志看不见。我们以前的runserver是依赖终端的
daemonize=uwsgi.log
# 指定依赖的虚拟环境
virtualenv=/opt/luffy/<br># clear environment on exit #退出时清除环境
vacuum = true
# nginx配置
server {
listen 80;
server_name api.youdomain.com;
location / {
include uwsgi_params;
uwsgi_pass luffy;
}
# 加载css、js文件
location ~ .*.(css|js)$ {
root /opt/luffy/luffy/;
}
}
# 前端页面服务器配置
server {
listen 80;
# 不要怀疑,你没有看错!nginx的80端口可以启动 n 个域名!
server_name youdomain.com www.youdomain.com;
location / {
# /opt/luffyweb/dist/ 为npm run build生成的文件夹
root /opt/luffyweb/dist/;
index index.html;
try_files $uri $uri /index.html;
}
}