说明:我的项目是很简单的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地址访问你的项目了

提示:按量收费的阿里云服务器,关闭也是会收费的,除非完全释放

结束