Centos7+nginx+gunicorn+django部署

首先购买服务器,可以选择阿里云或者别的,然后如果要让HTTP/HTTPS访问服务器,需要到阿里云管理控制台添加安全组规则, 添加自定义TCP, 让端口可供外部访问

新服务器安装环境
1. python3.6 环境
//相关依赖
yum update
yum install -y openssl-static
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

//python3.6 安装
wget http://python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz
tar xf Python-3.6.6.tar.xz
cd Python-3.6.6
./configure --prefix=/usr/local/python3
make & make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3

// 加入环境变量
vi /etc/profile
// 最后一行加入
export PATH="/usr/local/python3/bin:$PATH" 
// 然后退出保存
:wq
source /etc/profile

// pip 安装
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py

// 测试是否安装成功
python3 --version
pip --version
2. MySQL安装
// 下载特定版本
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-server

// 权限设置
chown mysql:mysql -R /var/lib/mysql
// 初始化
mysqld --initialize
// 启动服务
systemctl start mysqld
// 添加密码
mysqladmin -u root password "新密码";

// 进入MySQL
mysql -u root -p
// 输入密码
*******
// 创建项目所需要要的数据库
create database 数据库名字;
// 退出
quit
3. Redis安装
// 下载相应版本
wget http://download.redis.io/releases/redis-2.8.17.tar.gz
tar xzf redis-2.8.17.tar.gz
// 移到/usr/local里并安装
mv redis-2.8.17 /usr/local
cd  /usr/local/redis-2.8.17
make

//更新环境变量
vi /etc/profile
最后一行更新
export PATH="/usr/local/python3/bin:/usr/local/redis-2.8.17/src:$PATH"
然后退出保存
:wq
source /etc/profile

//修改redis配置文件让它后台运行
vi /usr/local/redis-2.8.17/redis.conf
找到daemonize no, 把no改成yes, 然后启动
redis-server -c  /usr/local/redis-2.8.17/redis.conf
4. git下载项目并试着运行
cd /data
git clone 项目名称
安装虚拟环境
pip install virtualenv
virtualenv venv3 -p python3
// 进入虚拟环境安装requirements.txt依赖
source venv3/bin/activate
pip install -r requirements.txt

// 进入项目初始化
python manage.py makemigrations
python manage.py migrate
// 启动项目, 还有一些其他选项可以添加,这里是示例
gunicorn project.wsgi -b 0.0.0.0:1024
// 浏览器能用 ip:1024访问服务后,暂时关闭服务 CTRIL-C

这里如果服务启动了, 但是浏览器访问不了, 重启防火墙, 然后重启服务, 如果还是不能访问, 到阿里云管理控制台确认是否添加安全组规则

防火墙配置:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:systemctl restart firewalld.service
关闭防火墙: systemctl stop firewalld
启动防火墙: systemctl start firewalld
5. 安装nginx
yum install nginx
配置nginx(网上配置一大堆,主要就是配置负载均衡和反向代理)
vi /etc/nginx/nginx.conf
// 修改完成后reload
nginx -s stop
nginx -c /etc/nginx/nginx.conf
nginx -t
nginx -s reload
// 测试安装成功, 浏览器输入ip:80 出现nginx欢迎页面

这里服务启动了, 但是浏览器访问不了, 重启防火墙, 然后重启服务, 如果还是不能访问, 到阿里云管理控制台确认是否添加安全组规则

最后启动gunicorn服务器
// 按照自己需求添加额外参数或者运行配置文件
gunicorn project.wsgi -b 0.0.0.0:1024

如果需要配置域名,需要购买域名, 阿里云有这项服务

浏览器输入 IP (不加端口号)能访问服务,成功~~~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值