python =3.7 uwsgi=2.0 nginx=1.14 flask1.1.2
运行都在自己的python环境里面
安装uwsgi
1ubuntu自带有gcc的c语言编译器,但是用来装uwsgi版本太高,18.04的gcc版本是gcc-7,实际用pip去安装uwsgi时候会报错没有c编译器
File "uwsgiconfig.py", line 507, in __init__
raise Exception("you need a C compiler to build uWSGI")
Exception: you need a C compiler to build uWSGI
make: *** [all] Error 1
此时降低gcc的版本为4.7
apt-get install gcc-4.7 //安装gcc4.7.4
rm /usr/bin/gcc
cd /usr/bin
ln -s gcc-4.7 gcc //建立软连接
gcc -v //验证
此时安装uwsgi没有问题
pip3 install uwsgi
在项目目录下新建一个uwsgi的配置文件,例如project/uwsgi.ini,用来启动uwsgi。
[uwsgi]
#用来对接nginx时候用socket
socket=192.168.8.134:5000 ip和端口根据自己实际情况修改
#用来http服务器的时候选用http
http=192.168.8.134:5000
wsgi-file=/home/saint/hwh/webserver_face_project/web_serving.py 运行flask的脚本路径
callable=app flask的name
touch-reload=/home/saint/hwh/webserver_face_project/ 项目目录路径
processes=4 进程数
threads=2 线程数
master=true 启动主进程
pidfile=uwsgi.pid 用来存储主进程的pid
daemonize=uwsgi.log 用来存储日志文件
#启动uwsgi
uwsgi --ini uwsgi.ini #--ini后面为uwsgi.ini的路径
#停止uwsgi
uwsgi --stop uwsgi.pid #--stop后面为uwsgi.pid的路径
安装nginx
apt-get install -y nginx
配置Nginx
创建自定义并配置Nginx配置文件
vi /etc/nginx/sites-enabled/web.conf
server {
listen 80; #监听端口
server_name 192.168.8.134; #访问地址,这里比较坑,填什么就映射什么,如果你填localhost、127.0.0.1之类的,就意味着你只能在本机浏览器上访问,因为别人在自己电脑输入127.0.0.1就不是你了
charset utf-8;
location / {
include /etc/nginx/uwsgi_params; 用来对接uwsgi
uwsgi_pass 192.168.8.134:5000; uwsgi配置文件的socket地址
}
默认的配置文件为/etc/nginx/nginx.conf
#启动
sudo nginx -c /etc/nginx/nginx.conf
#停止
sudo nginx -s quit
到此就完成了nginx和uwsgi的链接。