Django + Nginx + Gunicorn Linux部署网站系统

将网站系统按生产条件标准进行部署,部署方案采用目前流行的Nginx+Gunicorn 。

部署环境

  • CentOS 7.1 64bit
  • Python 3.6.5

项目准备

首先需要把自己本地的项目放到服务器上面来,我使用的是 Github 克隆项目,这种从代码库克隆的方式是比较推荐的,因为可以让服务器上面的项目保持跟代码仓库中同步。首先安装git

# yum install git

接着新建项目文件存放目录webapps/blog

# mkdir -p /webapps/blog

进入目录并克隆远程仓库代码

# cd /webapps/blog
# git clone https://github.com/leeyis/jbt_blog.git jbt_blog

上面这句 git 的命令是意思是将 jbt_blog.git 这个项目克隆到本地并命名为 jbt_blog,当然,项目的名称你可以按照自己的喜欢去命名。

为了保证公网访问能成功,还要开放服务器80端口,本文中服务器为CentOS7.1,执行如下命令开放80端口(已开放的可以忽略这一步)

# firewall-cmd --add-service=http --permanent
# firewall-cmd --add-port=80/tcp --permanent

重启防火墙

# firewall-cmd --reload

查看服务器端口开放情况

# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: dhcpv6-client ssh http
  ports: 80/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

可以看到80端口已开放。

部署过程

1.创建系统用户

默认root用户权限太大,为降低系统安全风险,我们需要单独新建一个系统用户来运行我们的web应用,该用户使用有限的权限来运行这个web应用。

首先新建系统组webapps,然后为应用创建一个用户,名字叫做jbt,附给系统组webapps

# groupadd --system webapps
# useradd --system --gid webapps --home /webapps/blog jbt

2.创建虚拟环境

虚拟环境的创建使用Virtualenv工具,它可以在系统中创建一个独立的Python环境,多个应用之间彼此不受影响,这样不同的应用使用的依赖库就不会相互冲突。安装虚拟环境之前需要用到pip这个包管理工具,如果服务器上没有的可以参考这篇文章http://jinbitou.net/2016/11/13/2148.html进行安装,这里就不做说明了。

执行如下命令创建虚拟环境jbt_env

# cd /webapps/blog/
# virtualenv jbt_env
Using base prefix '/usr/local'
New python executable in /webapps/blog/jbt_env/bin/python
Installing setuptools, pip, wheel...done.

执行如下命令激活虚拟环境

# source jbt_env/bin/activate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值