夜猫的个人小站

       继续码起来

关于作者

微博北极熊硬糖
北京海淀区

网站建设13天-服务器部署

标签   Python   Django   Ubuntu

部署文件在我的Github项目可找到:https://github.com/yemaobumei/mysite

阿里云服务器需配置网络安全组

HTTP 显示为 80/80。 实例作为网站或 Web 应用的服务器。

  • 第一步 安装nginx,fabric,virtualenv 注意安装包对应的python版本
    sudo apt-get install nginx
    sudo service nginx start
    sudo pip3 install Fabric3==1.14.post1
    sudo pip2 install virtualenv

此时输入网站域名或者IP就能看到welcome to nginx!测试页面 - 第二步 运行自动部署文件fabfile.py

在包含fabfile.py文件的目录下,运行
    fab deploy
输入域名和linux密码
  • 第三步 使用sed配置Nginx和Gunicorn

    在deploy_tools文件夹下保存了默认配置,只需稍作修改将内容复制到系统相应目录下即可

    sed "s/SITENAME/yemaobumei.cn/g" deploy_tools/nginx.template.conf | sed "s/USER/alien/g" | sudo tee /etc/nginx/sites-available/yemaobumei.cn
fabric中进行文本替换的函数叫sed,先把SITENAME替换成网站地址,再把USER替换成当前系统用户名,然后使用管道操作(|)把文本留传给拥有root权限用户写入系统/etc/nginx/sites-available/yemaobumei.cn文件里。

激活这个配置文件的虚拟主机:
    sudo ln -s /etc/nginx/sites-available/yemaobumei.cn       /etc/nginx/sites-enabled/yemaobumei.cn
然后编写Upstart脚本:
    sed "s/SITENAME/yemaobumei.cn/g" deploy_tools/gunicorn-upstart.template.conf | sed "s/USER/alien/g" | sudo tee /etc/init/gunicorn-yemaobumei.cn.conf
最后启动这两个服务:
    sudo service nginx reload
    sudo start gunicorn-yemaobumei.cn

为了能获取访问者的ip,特地在nginx.template.conf 加入了以下一段

location / {
        proxy_set_header Host $host;
        proxy_pass http://unix:/tmp/yemaobumei.cn.socket;

        #IP_adress
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    }

同时注意在ubuntu16.04中upstart无法使用,改成了systemd service

因此在第三步有关upstart部分改为:

    sed "s/SITENAME/yemaobumei.cn/g" deploy_tools/sysd.service 
    | sed "s/USER/alien/g" | sudo tee  /etc/systemd/system/yemaobumei.cn.service

最后启动服务

    sudo service nginx reload
    sudo systemctl daemon-reload
    sudo systemctl enable yemaobumei.cn.service
    sudo systemctl start yemaobumei.cn.service

最新评论

发表评论
回到顶部