1,448

flask项目部署到windows server 2012

最近做了一个flask小项目。在weindow下如何搭建flask环境前面已经做了介绍了,这里就不再介绍了,现在介绍一下如何把flask项目部署到windows server 2012服务器上。由于之前在Linux上部署过flask项目,前面已经介绍过了(也是基于nginx),现在突然要把flask项目部署在Windows上,
本来打算是用iis部署的。后来发现是个坑。于是就是用了nginx。
安装ngnix
ngnix的安装非常的简单。首先我们到这个网址去下载它
http://nginx.org/en/download.html
这里我下载的是1.14.2版本。下载完成后,解压到名叫nginx的文件夹,然后放到c盘根目录下。也就是C:\下。
点击nginx文件夹下的nginx.exe。这时会有一个窗口一闪而过。这就运行成功了。在浏览器地址栏输入localhost运行。会出现这样的画面。
来看一下具体的配置。在nginx文件夹下的conf文件夹中的nginx.conf就是它的配置文件了。
打开它。在 http{} 中。有如下代码。
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:5000;
#root html;
#index index.html index.htm;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
listen 表示ngnix监听的端口号,默认是80;
server_name 表示访问的地址。这里填写与服务器关联的域名。
location下的proxy_pass表示它代理的地址;
重要的就是这三个地方。当访问server_name 后填的网址的listen后的监听端口时,都将转到proxy_pass后所填写的地址。
我是使用的项目flask是运行在本地的5000端口上,我的域名是www.test.cn。所以我的配置是
listen 80;
server_name www.test.cn(或ip:xx.xxx.xxx.xx);
location / {
  proxy_pass http://127.0.0.1:5000
}
首先将项目运行起来。这时候可以在5000端口看到它。但是访问网址默认是80端口。这里配置之后。访问网址会转到5000端口。
项目部署就完成了,这里只用了nginx最基本的功能反向代理。
部署过程中遇到的问题:
修改nginx的配置文件的路径后,双击nginx.exe,然后访问服务器ip老是指向Nginx主页面
解决:
其实问题是我们开启了多个Nginx的进程了(一开始多次打开了nginx),他是可以开启多个的。所以我们把开启多个的Nginx进程终止掉。
在Nginx.exe路径下的CMD命令输入:
taskkill /fi “imagename eq nginx.EXE” /f
验证配置是否正确: nginx -t
查看Nginx的版本号:nginx -V
启动Nginx:start nginx
快速停止或关闭Nginx:nginx -s stop
正常停止或关闭Nginx:nginx -s quit
配置文件修改重装载命令:nginx -s reload
nginx: [error] CreateFile() “D:\install\nginx-1.2.2/logs/nginx.pid” failed
nginx: [error] Open() “D:\install\nginx-1.2.2/logs/nginx.pid” failed
解决方法:
使用命令创建/logs/nginx.pid文件:
nginx -c conf/nginx.conf

发表评论

邮箱地址不会被公开。 必填项已用*标注