1.更新Python的版本
根据你项目所用的Python版本更新Python ,如果你的项目运行在Python2.x那就不用更新,因为Centos7自带Python2.7.因为我的项目运行在Python3.6所以我更新了Centos自带的Python.
- wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz #下载python3.6
- xz -d Python-3.6.1.tar.xz
- tar xvf Python-3.6.1.tar #解压
- mkdir /usr/local/python3 #创建目
- 编译并安装
- cd Python-3.6.1 #进入源码文件目
- sudo ./configure --prefix=/usr/local/python3 --enable-optimizations
- sudo make
- cd /usr/bin
- mv python python.bak
- sudo ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
- python -V #查看版本是否替换
2.安装lnmp
wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp
3.安装uwsgi
- python -m venv djangovenv #python 创建Python虚拟环境(djangovenv为名称)
- 在django 项目目录下即和manage.py 同级目录下新建uwsgi.ini
- 在刚刚新建的uwsgi.ini里添加内容:
-
#添加配置选择
[uwsgi]
#使用HTTP访问的端口号, 使用这个端口号是直接访问了uWSGI, 绕过了Nginx
#http = :8996
#配置和nginx连接的socket连接
socket=127.0.0.1:8000
#配置项目路径,项目的所在目录
chdir=/home/wwwroot/mysite
#配置wsgi接口模块文件路径
wsgi-file=mysite/wsgi.py
#配置启动的进程数
processes=4
#配置每个进程的线程数
threads=2
#配置启动管理主进程
master=True
#配置存放主进程的进程号文件
pidfile=uwsgi.pid
#配置dump日志记录
daemonize=uwsgi.log - 运行uwsgi uwsgi.ini
- 找到nginx.conf文件在最外层{}里面添加如下内容
-
server {
listen 8996; #暴露给外部访问的端口
server_name 39.108.66.15;
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000; #外部访问8996就转发到内部8997
}
location /static/ {
alias /home/wwwroot/mysite/ashton/static/; #项目静态路径设置
}
} - 重启nginx
3.关于admin样式丢失
- 在settings.py下配置
- STATIC_ROOT = '/home/wwwroot/mysite/ashton/static'
- 然后执行python manage.py collectstatic