flask小程序项目 阿里上线部署
安装虚拟环境
最好在服务器上安装虚拟环境,因为服务器上面可能会有几个项目,避免了安装包比较混乱,不容易区分,这里就不写怎么安装了,给个链接:https://www.cnblogs.com/cwp-bg/p/7701231.html
可以参考着安装,
安装nginx
进入虚拟环境中
sudo apt-get install nginx
配置nginx:
1、进入到nginx的安装目录,如我的是/etc/nginx/sites-available 目录下:
拷贝目录下的default 命名hua.jiugua.xyz (这个是我的域名,你也可以设置为自己的域名或其他)
cp default hua.jiugua.xyz
打开文件写入配置:
server {
# ssl证书使用443
listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
# 后面是域名
server_name hua.jiugua.xyz;
# 证书.pem的存放地址
ssl_certificate /var/www/hua/1752675_hua.jiugua.xyz_nginx/1752675_hua.jiugua.xyz.pem;
# 证书.key的存放地址
ssl_certificate_key /var/www/hua/1752675_hua.jiugua.xyz_nginx/1752675_hua.jiugua.xyz.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# 转发端口
uwsgi_pass 127.0.0.1:5000;
include uwsgi_params;
}
}
没有配置静态资源路径,前后端分离用不到静态文件目录
2、然后进入到 /etc/nginx/sites-enabled 目录下进行拷贝:
软链接 /etc/nginx/sites-available 下的 hua.jiugua.xyz到 /etc/nginx/sites-enabled 目录下 命名不变,
# ln -s 源文件 目标文件
ln -s /etc/nginx/sites-available/hua.jiugua.xyz hua.jiugua.xyz
这样nginx就配置好了
3、重启nginx
service nginx restart
如果nginx重启出错,一般情况下就是你的配置文件写错了
90%是少写了分号’;’,还有就是花括号是否是配对的,
上传项目
建立项目目录
/var/www/hua
项目上传到此目录(上传的是项目里面的文件,没有最外面的文件夹)
上传项目可以使用WinCSP这个工具,
安装配置uwsgi
命令:
pip install uwsgi
配置:
在项目所在目录(/var/www/hua)新建文件hua.ini
名字也可以随便起,但是必须是.ini格式
打开hua.ini进行配置
[uwsgi]
# uwsgi 启动时所使用的地址与端口
# 就是程序运行是访问的端口
socket = 127.0.0.1:5000
# 指向网站目录
chdir = /var/www/hua
# python 启动程序文件
wsgi-file = manage.py
# python 程序内用以启动的 application 变量名
callable = app
virtualenv = /root/.pyenv/versions/hua
# 下面的不用动,也可以不要
# 处理器数
processes = 4
# 线程数
threads = 2
#状态检测地址
# stats = 127.0.0.1:9191
特别注意callable = app
这个是app = Flask(name) 前面的app
wsgi-file = manage.py 这里如下图:
不拆分的情况下是app.py
启动uwsgi
命令:uwsgi xxx.ini
xxx替换成刚才.ini文件的名字
uwsgi hua.ini
如果项目在关闭xshell后就不能正常访问了,在配置uwsgi中加上下面的日志
# 目录自己定
daemonize = /var/mylog/hua.log
这样整个项目就完成了,可以试试访问,在浏览器中输入自己的域名访问,如:https://hua.jiugua.xyz
加上自己项目里的url路径,
划重点:如果出现访问不到网页的情况下,很有可能就是你的服务器443端口没有开放,所以不能进行https访问,
参考:https://m.aliyun.com/wanwang/info/1526743.html
https://www.cnblogs.com/Ray-liang/p/4173923.html