flask项目部署

作者: 贾建西 | 来源:发表于2018-05-25 17:28 被阅读0次

部署flask:

1. 更新ubuntu的源

        sudo apt-get update

2. 安装mysql

        sudo apt install mysql-server mysql-client

3. 修改mysql配置

        cd /etc/mysql/mysql.conf.d

        修改mysqld.conf 将bind_address注释

4. 修改配置

        use mysql;

        GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

        flush privileges;

5. 重启mysql

        service mysql restart

6. 安装Nginx:

        sudo apt-get install nginx

7. 安装pip3

        apt install python3-pip

8. 安装uWSGI以及uWSGI对于Python的支持:

        pip3 install uwsgi

9. 修改总的nginx的配置的文件

        vim  /etc/nginx/nginx.conf

        注意: /etc/nginx/sites-enabled文件可以查看欢迎页路径为/var/www/html

10. 配置nginx的文件

server {

    listen      80;

    server_name 47.92.73.20 localhost;

    access_log /home/app/logs/access.log;

    error_log /home/app/logs/error.log;

    location / {

        include uwsgi_params;

        uwsgi_pass 127.0.0.1:8890;

        uwsgi_param UWSGI_CHDIR /home/app/src/s_aj;

        uwsgi_param UWSGI_SCRIPT manage:app;  # 启动flask的文件:Flask的实例

    }

}

11. 配置uwsgi的文件

[uwsgi]

socket=127.0.0.1:8890

pythonpath=/home/app/src/s_aj;  #项目所在目录

callable=app;  # 回调的flask实例

logto = /home/app/logs/uwsgi.log  # 存uwsgi日志的文件地址

12. 将项目从本地转移到linux服务器

13. 安装依赖包

        pip install -r re_install.txt

14. 启动服务进行部署

        方法一:不使用nginx+uwsgi

                netstat -lntp查看80端口

                kill -9 nginx占用的80端口

                python3 manage.py runserver -h 0.0.0.0 -p 80

        方法二:启动(nginx) service nginx restart

                启动(uwsgi) uwsgi --ini uwsgi.ini

                shell开启另一个窗口查看uwsgi错误日子 tail -f uwsgi.log

django和flask项目部署有冲突的解决方案

        1.flask换端口,需要设置防火墙,阿里云设置一道,linux系统通过ufw设置一道(默认防火墙是关闭的,不需要设置),并且修改nginx和uwsgi通信的端口号

        2.不要部署django项目,不启动django项目的uwsgi,注释掉nginx配置中的django项目include /home/app/conf/*.conf;

        3.服务器映射多个80端口,一个端口对应一个项目

相关文章

网友评论

    本文标题:flask项目部署

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