1. 安装及启动
将django程序编写完成,
在settings.py中将DEBUG = False, ALLOWED_HOSTS = ['*'],
Python manage.py runserver 测试是否能启动,实际不需要runserver来启动项目
2. uwsgi安装
安装:pip insatll uwsgi
配置:在django项目下创建script目录,进入script目录,创建一个uwsgi.ini文件
【配置如下示例】
# uwsig使用配置文件启动
[uwsgi]
# 项目目录
chdir=/root/websve_master/Django_Web_Server/
# 指定项目的application
module=Django_Web_Server.wsgi:application
# 指定sock的文件路径
#socket=/root/websve_master/Django_Web_Server/uwsgi_conf/uwsgi.sock
# 配置nginx时打开,此端口要和nginx绑定一致
socket = :8000
# 进程个数
processes = 8
# 每个进程worker数
workers=5
# uwsgi的进程名称前缀
procname-prefix-spaced=Django_Web_Server
# py文件修改,自动加载
py-autoreload=1
# 每个进程worker数
pidfile=/root/websve_master/Django_Web_Server/uwsgi_conf/uwsgi.pid
# 指定IP端口,web访问入口,不配置nginx时打开
#http=0.0.0.0:8000
# 指定静态文件(有nginx配置则在nginx中配置静态文件目录)
# static-map=/static=/root/websve_master/Django_Web_Server/static
# 启动uwsgi的用户名和用户组
uid=root
gid=root
# 启用主进程
master=true
# 自动移除unix Socket和pid文件当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
# 启用线程
enable-threads=true
# 设置请求超时中断时间
harakiri=30
# 设置缓冲
post-buffering=4096
# 设置日志目录
daemonize=/root/websve_master/Django_Web_Server/uwsgi_conf/uwsgi.log
#monitor uwsgi status 通过该端口可以监控 uwsgi 的负载情况
stats = 127.0.0.1:9001
3. nginx安装
1. 执行命令:wget http://nginx.org/download/nginx-1.14.0.tar.gz
2. 执行命令解压:tar zxvf nginx-1.14.0.tar.gz
3. 编译安装:
cd nginx-1.14.0
./configure --prefix=/usr/local/nginx
make && make install
4. 建立软连接:
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
5. 在/user/local/nginx/conf/中打开nginx.conf,加入以下内容:
user root; # 修改用户为root
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream django {
server 120.25.169.87:8000;
server 39.108.209.183:9090;
}
server {
listen 80;
server_name 120.25.169.87;
#charset koi8-r;
charset utf-8;
#access_log logs/host.access.log main;
location /static {
alias /root/websve_master/Django_Web_Server/static;
}
location /media {
alias /root/websve_master/Django_Web_Server/media;
}
location / {
uwsgi_pass django; # 此端口要和uwsgi一致
include /usr/local/nginx/conf/uwsgi_params;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
...
}
...
}
5. nginx基本命令
启动:nginx (终端没有任何提示就证明nginx启动成功)
停止:nginx -s stop
重启:nginx -s reload
4. 项目启动:
启动uwsgi: uwsgi --ini uwsgi.ini
启动nginx: nginx
安装nginx前访问url: 39.108.187.33:8000/test
安装nginx后访问url:39.108.187.33/test