您现在的位置是:首页 > 技术分享 网站首页技术分享

CentOS7:阿里云ESC服务器Django+uWSGI+Nginx

Linux   Python   Django  
简介整合众多文章得出的干货,部分步骤不详细的请在本博客自行搜索学习。

一.更新系统及更换镜像源

二.所需软件安装

1.MySQL

2.Redis

3.Git

4.Python3.6.5

5.Nginx

三.安装&创建虚拟环境

四.项目代码注意事项

1.公网访问配置

打开生产环境

DEBUG = False

通过公网访问测试,在setting.py中修改输入:

ALLOWED_HOSTS = ['*']

2.同步数据库

五.安装与配置uwsgi

ngix是门户,它负责转发,它转发动态请求给uwsgi,然后uwsgi在转给django处理

1.# 安装uwsgi

pip install uwsgi

2.测试是否安装完成并且正常

uwsgi --version

3.配置uwsgi.ini文件

在项目文件夹与manage.py同级的目录下创建uwsgi.ini,文件内容如下(注意路径):

# djangouwsgi.ini 文件
[uwsgi]
# uwsgi监听的socket,一会儿配置Nginx会用到
socket = 127.0.0.1:8080
# 在app加载前切换到该目录,设置为Django项目根目录
chdir = /srv/addcoder
# 加载指定的python WSGI模块,设置为Django项目的wsgi文件
module = addcoder.wsgi
# 启动一个master进程来管理其他进程
master = true
# 工作的进程数
processes = 4
# 每个进程下的线程数量
threads = 4
# 当服务器退出的时候自动删除unix socket文件和pid文件
vacuum = true
# 使进程在后台运行,并将日志打到指定的日志文件或者udp服务器
daemonize = /srv/addcoder/uwsgi.log

4.配置完后在该目录下输入

uwsgi --ini djangouwsgi.ini

出现getting INI configuration from uwsgi.ini(成功)

项目有更新的时候,需要先关闭uwsgi然后重启即可

sudo killall -9 uwsgi

5.基本命令

启动uwsgi服务器

uwsgi mypath/ djangouwsgi.ini

查看uwsgi是否运行

ps -aux | grep uwsgi

查看端口号占用

netstat -anp | grep 7878

结束uwsgi进程

pgrep uwsgi | xargs kill -s 9

六.安装与配置Nginx

1.安装Nginx

2.配置nginx,若启动失败,则需要检查,输入 sudo nginx -t 测试配置文件是否正确

(1.nginx配置文件分开配置,nginx.conf 文件尽量不做修改,只需在最末尾加上

include /etc/nginx/conf.d/*.conf;

(2.在conf.d文件中放入不同的conf文件进行编辑配置。

vim /etc/nginx/conf.d/addcoder.conf

# Django网站配置
server {
# 设置监听端口号
listen80;
# 设置对外访问入口,可以是域名可以是公网IP
server_nameaddcoder.com www.addcoder.com;
# 设置访问的语言编码
charsetUTF-8;
# 访问日志记录
access_log/var/log/nginx/addcoder_access.log;
# 错误日志记录
error_log/var/log/nginx/addcoder_error.log;
# 设置虚拟主机的基本信息
location / {
include uwsgi_params; 
# 刚才uwsgi设置的socket
uwsgi_pass 127.0.0.1:8080;
uwsgi_read_timeout 2;}
# 静态文件设置,nginx自己处理
location/static {
# 过期时间
expires 30d;
# 项目静态文件地址
alias /srv/addcoder/static/;}
# 创建SSL证书临时文件
location        /.well-known/acme-challenge {
alias           /srv/addcoder/.well-known/acme-challenge;}
# 配置nginx502错误配置
error_page  502  /502.html;
location = /502.html {
root/usr/share/nginx/html;}
# 配置nginx404错误配置
error_page  404  /404.html;
location = /404.html {
root/usr/share/nginx/html;}
}

七.启动服务器

1.切换到项目目录下运行

uwsgi --ini djangouwsgi.ini

2.重启服务器

systemctl restart nginx

八.维护更新

项目有更新的时候,需要先关闭uwsgi然后重启即可

1.关闭uwsgi

killall -9 uwsgi

rm -rf addcoder/

2.重启

git clone https://gitee.com/guoxianru/addcoder.git

cd addcoder/

workon python36_django

uwsgi --ini djangouwsgi.ini

systemctl restart nginx


文章评论