一:安装uWSGI
在/usr/local目录下新建目录:uwsgi,用于存储uWSGI配置文件及日志。配置文件内如如下:
# mysite_uwsgi.ini file [uwsgi] # Django-related settings # the base directory (full path) #指定django的项目目录,第一层 chdir = /usr/local/infoOCR # Django's wsgi file #找到django的wsgi文件 #这里需要写项目的第二层目录Alibab_crm module = infoOCR.wsgi # the virtualenv (full path) #填写虚拟环境的绝对路径 home = /usr/local/infoOCR/info_env # process-related settings # master master = true # maximum number of worker processes processes = 2 # the socket (use the full path to be safe #指定socket协议,运行django,只能与nginx结合时使用 socket = 127.0.0.1:8000 #如果你没用nginx,只想自己启动一个http界面,用这个 #http = 0.0.0.0:8001 # ... with appropriate permissions - may be needed # chmod-socket = 664 # clear environment on exit vacuum = true daemonize=/usr/local/uwsgi/uwsgi.log
如果想让uWSGI也暴露出http,则打开http部分即可。
启动python的虚拟环境,运行命令安装uWSGI:
pip install uwsgi
安装完成后,定位到/usr/local/uwsgi目录,运行命令启动uWSGI:
uwsgi uwsgi.ini
启动成功后,可以从浏览器访问8001(前提打开上述配置文件http部分)查看是否正常。
uWSGI的关闭命令网上一边倒,说:uwsgi --stop uwsgi.pid,但实测不行。只能用以下命令:
killall -9 uwsgi 或者 pkill -f uwsgi -9
二:安装nginx
拷贝nginx-1.20.1.tar.gz到目录:/usr/local,运行命令解压:tar -zxvf nginx-1.20.1.tar.gz,解压后注意不要修改文件夹名称为nginx,因为nginx的编译安装目录就是nginx,这样会与源文件目录冲突。直接进入nginx-1.20.1目录,运行:
./configure
make&&make install
安装完成后,打开conf/nginx.conf文件,修改配置内容,和uWSGI相互匹配。方法有两种:
定位到:location /部分:
方法一:假如uWSGI服务器也开启http,则在location中添加:
proxy_pass http://127.0.0.1:8001
即采用http代理方式,转发到uWSGI,但这样失去了使用wsgi协议优势,性能降低不少,不推荐。
方法二:采用wsgi协议,在location部分添加:
include /usr/local/nginx/conf/uwsgi_params; uwsgi_pass 127.0.0.1:8000
这样采用wsgi代理方式,性能会更好。
配置完成后,启动及关闭nginx方法为:
启动:sbin/nginx
关闭:sbin/nginx -s stop