nginx+uwsgi+flsk+python3搭建web服务教程以及踩到的坑

教程推荐

实习的时候老板让我先打一个web服务出来,在慢慢的扩充,本想着花一点时间看一下nginx这些东西的原理,老板直接说先别管原理,找个教程搭出来再说。。。
然后花了两天半时间才搞出来,真是有点丢人。
教程我主要按照这两篇:
Debian9部署python3:flask+uwsgi+Nginx+supervisor
在 Ubuntu 上使用 Nginx 部署 Flask 应用
我的环境是Debian 4.9,python3.5

踩到的坑

1.nginx配置文件更新不了

6月1日更新:nginx的默认配置文件/etc/nginx/nginx.conf中有这样一行include /etc/nginx/conf.d/*.conf;这一行即是把其他nignx的配置文件包含进来,所以只要把我们项目所需的配置文件放置在这个目录就可以了,就很像c++的include,会直接把包含文件"复制"进来。
起因是要查看一下nginx的log,我写的配置文件里面的log文件是空的,考虑可能nginx启动的时候使用了默认的配置文件/etc/nginx/conf.d,于是使用nginx -c [新的配置文件路径],使用该命令后nginx -s reload重新加载配置文件,在测试一次,发现log还是空,这怕不是个假命令。
试了好几次之后,用nginx -c path/ -t这条可以成功更新配置文件,就很神奇。

2.关于plugins

在加载uwsgi配置文件可能会遇到一个找不到python-plugins的报错,原因是好像如果是用pip安装的uwsgi的话不需要再配置文件加入plugins=xxx这句,注释掉即可,也有人说直接apt-get需要的文件,但我没试过。

3.uwsgi和nginx链接

6月1日更新:更改了项目文件之后需要uwsgi更新时,使用uwsgi --reload xxx/uwsgi.pid命令,使用ini会让进程池爆掉。。。别问我怎么知道的,老板问我都干了啥。。。
uwsgi和nginx通信需要一个文件(大概是共享内存我想是),这个文件的路径需要在nginx和uwsgi的配置文件中同时进行设置,但是千万别手贱设置之后自己去创建这个文件!!!
PS:这个文件好像是由uwsgi生成的,如果手动删除了这个文件的话,要重新执行uwsgi --ini
我就是设置之后自己去创了个文件,然后加载uwsgi文件就会报错这个sock文件已经被使用,我还想我刚创建的,那个进程会用呢。。。然后删了再建一次,重复好几次之后,无意间瞥见一篇博客说不能手动创建,进程会以为这个文件是别的文件使用的时候创建的。

4.配置uwsgi.ini

记得在开头加上[uwsgi]…

暂时就想到这些,后面遇到了再补充。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值