一:安装uwsgi
pip3 install uwsgi
二:进入项目目录下,创建uwsgi.ini配置文件
[uwsgi] # 使用nginx连接时使用功能,上线时才使用socket,指定项目执行的端口号 socket=127.0.0.1:8000 # 项目目录 chdir=/data/webapp/otp_manage # 项目中wsgi.py文件的目录,相对于项目目录 wsgi-file=otp_manage/wsgi.py # 最大进程 workers=3 # 开启主进程 master=True # 退出、重启时清理文件 vacuum = true # pidfile=uwsgi.pid daemonize=uwsgi.log
三:启动服务
uwsgi在哪个目录启动,就会在哪个目录生成uwsgi.pid和uswgi.log文件,故需要切换到项目目录下执行
启动:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid
强制停止:killall -8 uwsgi
这里我们启动uwsgi服务,可以通过ps -ef | grep uwsgi看到已经有四个uwsgi服务启动。
四:安装Nginx
tar zxf nginx-1.8.1.tar.gz cd nginx-1.8.1 ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre make && make install
五编写nginx.conf配置文件
user www www;
worker_processes 2;
error_log /usr/local/nginx/logs/nginx_error.log notice;
pid /usr/local/nginx/sbin/nginx.pid;
worker_rlimit_nofile 204800;
events
{
use epoll;
worker_connections 204800;
}
http
{
include mime.types;
default_type application/octet-stream;
charset utf-8;
server_tokens off;
server_names_hash_bucket_size 512;
client_header_buffer_size 512k;
large_client_header_buffers 64 512k;
client_max_body_size 100m;
proxy_ignore_client_abort on;
sendfile on;
tcp_nopush on;
keepalive_timeout 120;
keepalive_requests 1024;
fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=TEST:10m inactive=30d max_size=3096m;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 4k;
fastcgi_buffers 8 4k;
fastcgi_busy_buffers_size 8k;
fastcgi_temp_file_write_size 8k;
# fastcgi_cache TEST;
fastcgi_cache_valid 200 302 1h;
fastcgi_cache_valid 301 1d;
fastcgi_cache_valid any 1m;
fastcgi_cache_min_uses 1;
fastcgi_cache_use_stale error timeout invalid_header http_500;
open_file_cache max=204800 inactive=20s;
open_file_cache_min_uses 1;
open_file_cache_valid 60s;
tcp_nodelay on;
gzip on;
gzip_min_length 1k;
gzip_buffers 16 64k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
gzip_vary on;
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'"$upstream_addr" "$upstream_status" "$request_time" "$upstream_response_time" $bytes_sent $request_length';
include /usr/local/nginx/conf/vhosts/*.conf;
}
六:创建vhosts目录。编写.conf文件
server {
listen 80;
server_name localhost;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
uwsgi_param UWSGI_SCRIPT otp_manage.wsgi;
# /data/webapp/otp_manage 是项目目录
uwsgi_param UWSGI_CHDIR /data/webapp/otp_manage;
index index.html index.htm;
client_max_body_size 35m;
}
location /static {
client_max_body_size 35m;
alias /data/webapp/otp_manage/statics;
}
}
启动Nginx 进行访问即可