使用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地址即可
posted @ 2020-08-12 08:45  仰望丶那一缕微光  阅读(411)  评论(0编辑  收藏  举报