使用gunicorn 部署 django应用
一、安装基础环境
1、安装python3环境(建议3.6.2)
参考博客地址:https://www.cnblogs.com/JahanGu/p/7452527.html
安装完成后python3文件路径为 /usr/local/python3/bin/python3
创建并进入虚拟环境
1. pip install virtualenv
2. virtualenv python3 --python=/usr/local/python3/bin/python3
3.source python3/bin/active
2. 安装数据库 (mariadb/mysql)
安装mariadb命令
yum -y install mariadb mariadb-server
安装完成MariaDB,首先启动MariaDB
systemctl start mariadb
设置开机启动
systemctl enable mariadb
接下来进行MariaDB的相关简单配置
mysql_secure_installation
首先是设置密码,会提示先输入密码
Enter current password for root (enter for none):<–初次运行直接回车
设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
初始化MariaDB完成,接下来测试登录
mysql -uroot -ppassword
完成。
3. 安装redis数据库
yum install redis
service redis start 启动
systemctl enable redis 开机自启
4. 安装git
yum install git
二、项目部署
1.进入opt文件夹
cd /opt
2.项目拉取地址 需拥有拉取权限
git clone https://gitee.com/aa
3. 安装对应模块
1.进入目录
cd aa
2. python模块安装
pip install -i https://pypi.douban.com/simple/ -r r.txt
3.修改配置文件
# vi MxShop/settings.py
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '#r@h(x*x2jc5o^-y#9=9w)o7iiv7jd^zxp@1s5*nj-n*s)v#o*'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True # 此处改为False
ALLOWED_HOSTS = ['*']
AUTH_USER_MODEL = 'users.UserProfile'
'''
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mxshop1', # 数据库名字
'USER': 'root', # 账号
'PASSWORD': '', # 密码 修改为之前设定的密码
'HOST': '127.0.0.1', # IP
# 'HOST': '47.75.125.134', #IP
'PORT': '3306', # 端口
"OPTIONS": {"init_command": "SET default_storage_engine=INNODB;"}
}
}
4. 导入数据库
新建数据库 字符集为utf8
进入数据库 mysql -u root -p 输入密码之后进入数据库
新建数据库
CREATE DATABASE IF NOT EXISTS mxshop1 DEFAULT CHARACTER SET utf8;
使用数据库 use db;
导入数据库 source db.sql
退出数据库 exit
5.收集静态文件
python manage.py collectstatic
6.项目部署
退出数据库后目录应为 **
项目运行
nohup gunicorn aa.wsgi:application -b 127.0.0.1:8000 -w 4 &
三、nginx代理
1.安装nginx
yum install -y nginx
注:
如果通过yum安装的时候提示下面的错误
[root@localhost yum.repos.d]# yum install nginx
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
没有可用软件包 nginx。
错误:无须任何处理
需要添加nginx的源
[root@localhost yum.repos.d]# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
该命令执行之后,会在/etc/yum.respos.d下面多出一个nginx.repo
然后再执行安装命令
yum install -y nginx
2.nginx配置
vi /etc/nginx/nginx.conf
对应地方配置
location /static {
alias /opt/aa/statics;
}
location /media {
alias /opt/aa/media;
}
location / {
proxy_pass http://127.0.0.1:8000/;
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;
}
保存配置文件并退出
3. nginx 测试与重启
nginx -t # 测试nginx配置是否正确
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 正确打印信息
nginx: configuration file /etc/nginx/nginx.conf test is successful
nginx -s reload 重启nginx
四、查看项目
服务器输入 ifconfig 查看ip
浏览器打开 该ip地址即可