Nginx最大的优势就是收集静态资源
项目部署
第一步:在控制台输入:项目目录下(Qshop)pip freeze > pacakage.txt 生成模块包文件
第二步:修改配置,让项目进入生产模式
DEBUG = False 关闭调试模式 ,有可能看不到静态True
ALLOWED_HOSTS =[“*”] 允许所有IP访问
配置django-mysql
DATABASES = {
‘default’:{
‘ENGINE’:’django.db.backends.mysql’,
‘NAME’:’数据库名字’,
‘HOST’:’127.0.0.1’,
‘USER’:’root’,
‘PASSWORD’:’123456’
}
}
删除所有测试数据记录-----》migrations 目录下
在本地跑通后,
在服务器进行开发环境安装
- 安装依赖包 yum install zlib-devel bzip2-devel openssl-devel
- 下载python包 :wget:https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz
- 解压python包:[root@localhost opt] tar -Jxvf Python-3.5.2.tar.xz
- 进行编译(切入Python-3.5.2目录,python的安装包下)
- 去到cd /opt -----> ./configure prefix=/usr/local/python3 -----------》make && make install 编译安装python环境
创建python的软链接
6. cd /usr/local/python3/bin
7. ln -s /usr/local/python3/bin/python3 /usr/bin/python3 ---->python
8. ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 ---------->pip
9. 编译安装----》make 编译 make install 安装
10. make && make install
11. 如果缺少easy_install == >setuptools
12. 直接使用命令下载
13. easy_install -U setuptools
14. or
15. pip install ipython
16.
上传代码到服务器
环境迁移
cd 项目文件夹-----》pip3 install -r package.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
安装数据库
yum install mariadb 安装
yum install mariadb-server 启动服务
关闭防火墙:
systemctl stop firewalld 关闭防火墙
systemctl start firewalld 开启防火墙
systemctl status firewalld 查看状态
配置生产环境
mysql_secure_installation
创建项目的数据库:
create database qshop charset=utf8;
如果服务器需要部署在mysql下,必须安装
pip3 install pymysql
(collecting–>收集的意思)
在django项目下的__init__目录下写入
vim Qshop/init.py
内容:
import pymysql
pymysql.install_as_MySQLdb()
错误2:
mysql客户端版本问题报错:
复制此路径:
解决方法:进入—》
注释掉即可
python 版本问题
python2 版本,字符串拥有 decode和encode两个方法
但是在3版本,只有encode
通过vim进去 :复制上面圈起来的地址,把decode改成encode即可
执行迁移数据库命令
python3 manage.py check
python3 manage.py makemigrations
python3 manage.py migrate
启动django服务
python3 manage.py runserver 0.0.0.0:8000 启动django的服务
python3 manage.py runserver 0.0.0.0:80 启动http的服务 浏览器默认端口为80
安装 uwsgi
pip3 install uwsgi
创建软链接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
在opt下 创建目录 mkdir script
cd script/---------->vim uwsgi.ini ----》在linux下配置文件都是ini后缀
i=====输入模式
按下esc : wq 保存突出
uwsgi --ini uwsgi.ini
ls 查看 会生成这些文件
uwsgi.ini uwsgi.log uwsgi.pid uwsgi.sock
安装NGINX
在opt下安装,直接输入即可 :wget -c https://nginx.org/download/nginx-1.12.2.tar.gz
解压
opt----->tar -zxvf nginx-1.12.2.tar.gz
进入cd nginx-1.12.2/
进入./conf 会看到:conf ,configure
进入 ./configure \ 回车 + 回车
完成后便可编译安装make && make install
看到他就可以创建软链接
[目录sbin]# ln -s /usr/local//nginx/sbin/nginx /usr/bin/nginx
启动Nginx命令:nginx
修改配置文件:在/usr/local/nginx/conf
备份配置文件,以防出错,随时复原:cp nginx.conf nginx.conf.bak (移除命令是mv)
所有配置文件都在/usr/local/nginx/conf下
输入命令vim nginx.conf
解开注释(日志的格式)
配置服务 项目的配置,监听80 服务名qshop 必须按照此配置
配置静态文件,在error page 500 502 504 /50x.html下找
配置错误日志文件,nginx本没有此文件,手动创建
启动项目,先杀掉进程 ,pkill -9 nginx ,pkill -9 uwsgi, uwsgi --ini uwsgi.ini, 启动nginx