说明:我的项目是很简单的web网页。
相关服务:香港服务器租用
开始的开始
一、首先我的项目是在pycharm中能能够正常运行。运行后显示如下,flask默认是5000端口

二、租阿里云服务器和腾讯云的域名

选择云服务ECS

说明:如果你想马上能用,地域就不能选大陆的IP,因为大陆IP需要备案。推荐香港地区。如果你选择大陆IP,准备想备案的话,付费方式就不能选择按量付费。按量付费给的IP不支持备案。
选择好付费之后,进入控制台,最上方有个中国香港,可以看到在华南2地区我还有一个实例


选择系统我选的Ubuntu18, 记好你的用户名密码
租腾讯云域名

买完之后进入域名管理,一定要添加记录,把你租的阿里云公网IP加上,一般加两个就行。不会的百度一下,记录值就是IP地址。

三、阿里云服务器连接
我这推荐两个软件winscp和xshell,winscp是免费的,xshell是收费的。xshell破解版的百度云链接
链接:https://pan.baidu.com/s/1inHpj-voKvg5KfO-rNUuRg?pwd=6666
提取码:6666
以xshell为例:主机就是阿里云公网IP

用户名密码就是你设置的

这几项填完基本上没啥大问题,winscp也是大同小异
四、部署项目以我的为例
用winscp把项目复制到root文件下

建虚拟环境,Linux默认有python2和python3,不写python3就默认是2


pip3 install virtualenv
virtualenv --version
# virtualenv --no-site-packages web1
web1是虚拟环境的名称,可以根据自己的需要进行命名。
直接使用命令 virtualenv 就可以创建一个独立的Python运行环境,加上参数--no-site-packages,可以将已经安装到系统Python环境中的第三方包都不复制到独立环境中,这样我们就可以得到一个不带任何第三方包的Python环境了。

web1是虚拟环境的目录,到虚拟环境的bin目录下
root@fulixiang:~# cd ~/web1/bin
root@fulixiang:~/web1/bin# source activate
(web1) root@fulixiang:~/web1/bin#
这就表明已经进入虚拟环境,然后换源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
这时就可以下载你想要的python包了。
nginx安装配置
sudo apt install nginx
nginx -v查看版本

/usr/sbin目录下有nginx文件
在这个目录下执行
重启nginx命令:./nginx -s reload
停止 nginx 命令: ./nginx -s stop
查看状态systemctl status nginx.service
反向代理:如果你想通过你的网址,例如www.wangzhi.com访问你的服务,就需要设置
主要改两个个文件:hosts和nginx.conf
hosts在etc目录下
hosts中的是地址映射多谢写几个总没错,写的不对的用不了你的域名访问。比如8.210.77.40是公网IP,172.27.218.74是服务器内网IP
172.27.218.74 fulixiang.love
8.210.77.40 fulixiang.love
8.210.77.40 www.fulixiang.love
172.27.218.74 www.fulixiang.love
127.0.0.1 www.fulixiang.love
nginx.conf在/etc/nginx目录下
打开nginx.conf在http{}中加入如下类似的代码,说明:listen 80不用变 server_name一定要变,变成你的公网IP和你申请的域名,你的域名不要加www,否则不行。proxy_pass写127.0.0.1和内网IP都对。
server {
listen 80;
server_name 8.210.77.40;
location /{
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:5000/;
}
}
server {
listen 80;
server_name fulixiang.love;
location /{
proxy_pass http://172.19.59.134:5000/;
}
}
五、最后
打开你的程序
![]()
用浏览器就可以通过域名或者IP地址访问你的项目了
提示:按量收费的阿里云服务器,关闭也是会收费的,除非完全释放
结束