flask项目部署

此次部署用的是在阿里云购买的服务器(Ubuntu),nginx+uwsgi

部署项目之前确保你在阿里云安全组设置了端口能够访问,下载安装过nginx,uwsgi与python环境,安装flask项目所用到的各种库(生成requirements.txt文件快速安装)。

项目文件

我将自己的项目文件放到了var/www/目录下,项目的文件为blog

配置nginx服务器

1.切换到etc/nginx/sites-available文件下,创建自己虚拟站点的配置文件

首先cd /etc/nginx/sites-available下,然后创建名为blog_nginx.conf的配置文件。

server {
        listen 80;
        server_name www.blacksheepwall.cn blacksheepwall.cn;
        charset utf-8;
        client_max_body_size 75M;
        root /var/www/blog;

        location / {
                include /etc/nginx/uwsgi_params;
                proxy_pass http://127.0.0.1:5051;
                #proxy_set_header Host $host;
                #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                uwsgi_param UWSGI_SCRIPT /var/www/blog/manage;
                uwsgi_param UWSGI_CHDIR /var/www/blog;
}

        location /static {
                alias /var/www/blog/app/static;

}
        location /media {
                alias /var/www/blog/app/static/upload;
}
        location /favicon.ico {
                log_not_found off;
                access_log off;
}
}

server_name可以是自己的域名或者ip;

uwsgi_param UWSGI_SCRIPT:项目的启动文件

uwsgi_param UWSGI_CHDIR:项目的根目录

location /static:加载静态资源的文件路径

location /media:加载图片资源文件的路径

location /favicon.ico:网站图标的路径(因为我没有网站图标,所以这里将网站图标找不到的异常关闭)

注意:有的小伙伴可能在配置nginx文件的时候不知道自己哪里出错,这里告诉大家一个配置nginx文件的技巧,在etc/nginx目录下有一个nginx.conf的文件,里面记录了nginx错误日志的文件路径,通过这个错误日志的路径找到错误日志,就能够很详细的查看到自己配置的地方哪里出错了。

2.创建软链接

切换到etc/nginx/sites-enabled目录下

创建软链接:ln -s /etc/nginx/sites-avilable/blog_nginx.conf   blog_nginx.conf

3.重启nginx服务器

配置uwsgi

1.在项目根目录下创建uwsgi.ini的配置文件

2.配置参数

[uwsgi]

http = 127.0.0.1:5051 # 启动的地址与端口

pythonpath = /var/www/blog/ #项目的根目录

module=manage  

wsgi-file = /var/www/blog/manage.py #启动文件

callable = app #manage.py中用来启动app的变量

processes = 4  处理器数

threads = 2  # 线程数

stats = 127.0.0.1:9191  # 状态监测地址

daemonize = /var/www/blog/blog.log #日志文件

3.启动uwsgi

uwsgi  uwsgi.ini

到这里flask项目就已经部署成功了,可以通过你的域名或者ip地址来访问到你的flask项目

猜你喜欢

转载自blog.csdn.net/WanYu_Lss/article/details/82956132