美文网首页
将flask项目部署到Centos中的Nginx中

将flask项目部署到Centos中的Nginx中

作者: 忘了呼吸的那只猫 | 来源:发表于2020-03-26 21:43 被阅读0次

1.首先将代码上传到服务器上目录为:

/home/www/wwwroot/salt-api

这个目录是可以改变的,Nginx默认的目录实在安装目录下的html文件夹下,这个可以在安装前配置文件中设置;

2.配置服务器代理

使用的代理一共有两个,nginxuwsgi
先说明一下,如果不用nginx一样可以访问你的项目,使用nginx的目的是为了安全和负载均衡。
配置了nginx做前端代理,uwsgi作后端代理的服务器(这里所说的前后端都是相对的位置,并无实际含义),在处理来自Internet的请求时,要先经过nginx的处理,nginx把请求再交给uwsgi,经过uwsgi才能访问到项目本身。

没有nginx而只有uwsgi的服务器,则是Internet请求直接由uwsgi处理,并反馈到我们的项目中。
nginx可以实现安全过滤,防DDOS等保护安全的操作,并且如果配置了多台服务器,nginx可以保证服务器的负载相对均衡。

uwsgi则是一个web服务器,实现了WSGI协议(Web Server Gateway Interface),http协议等,它可以接收和处理请求,发出响应等。所以只用uwsgi也是可以的。

  • 先安装 uwsgi
pip install uwsgi

注意这里使用pip安装uwsgi是吧它安装到你运行项目所需的环境当中去,一般系统会有几个python版本,不要安装错地方导致找不到这个包;
安装后可以输入指令测试

   uwsgi

如果报错 # uwsgi: command not found
解决方法:建立软链接

ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
  • 在你的项目根目录下创建一个配置文件 uwsgi.ini (uwsgi支持多种配置文件格式,xml,ini,json等)

[uwsgi]
# 使用nginx连接时 使用
socket = 0.0.0.0:8000
 
# 直接作为web服务器使用
#http = 0.0.0.0:8000
 
# 配置工程目录
chdir = /home/liu/flask0923
wsgi-file = manage.py
# router
callable = app
 
# 配置项目的wsgi目录。相对于工程目录
# chdir = /root/shop/flaskday5
# wsgi-file = aixianfeng/wsgi.py
 
#配置进程,线程信息
processes = 4
 
threads = 10
 
enable-threads = True
 
master = True
 
pidfile = uwsgi.pid
 
daemonize = uwsgi.log

保存配置文件,我们可以通过指令来启动uwsgi

uwsgi uwsgi.ini 
  • 编写nginx 配置

nginx默认的启动文件在安装目录下的conf文件夹中,文件名为'nginx.conf',可以先复制这个文件再更改其中的内容,
修改其中的 server 这一部分

 server {
        listen       80;#此处为Nginx监听端口
        server_name  localhost;
 
        charset utf-8;
        #access_log  /var/log/nginx/host.access.log  main;
        root   /home/liu/flask0923;#此处为项目的根目录
 
        location /static {
            alias  /home/liu/flask0923/static;#此处为项目的静态文件地址
        }
 
        location / {
            include  /usr/local/nginx/conf/uwsgi_params;#此处为uwsgi_params文件的地址,一般在Nginx安装目录的conf文件夹中
            uwsgi_pass  localhost:8000;#此处改为和uwsgi中一样的端口
        }
 
       #注意:将原文件中的以下几行内容注释掉
        #error_page   500 502 503 504  /50x.html;
        #location = /50x.html {
        #    root   /usr/share/nginx/html;
        #}
 
    }

  • 以上两个文件修改完毕之后,进入运行项目的虚拟环境,启动uwsgi和nginx

uwsgi --ini /home/admin/flask0923/uwsgi.ini 
nginx -c /home/admin/flask0923/nginx.conf 

如果都能成功启动说明配置成功,可以用浏览器访问对应的IP地址,就可以访问部署的项目了

相关文章

网友评论

      本文标题:将flask项目部署到Centos中的Nginx中

      本文链接:https://www.haomeiwen.com/subject/jlyhuhtx.html