此次部署用的是在阿里云购买的服务器(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项目