写在前面:今天按照教程把项目部署一下,但是出现了例如启动uwsgi或者启动了nginx频繁报错的现象。我都是通过重启Pycharm或者重启机器实现的。
一、服务器环境配置
创建虚拟环境等就不再赘述。
更改setting.py文件
DEBUG = False
ALLOW_HOSTS=['*'] 表示可以访问服务器的ip
此时的静态文件是无法访问的,所有的图片视频以及样式效果都是没有的。
二、配置uWSGI
1.1、安装
pip install uwsgi
1.2、配置
(1)在项目目录下新建uwsgi.ini用于填写配置文件。
[uwsgi]
socket=外网ip:端口(使用nginx连接时,使用socket)
http=外网ip:端口(直接做web服务器,使用http)
chdir=项目根目录
wsgi-file=项目中wsgi.py文件的目录,相对于项目根目录
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uswgi.log
举例如下:
[uwsgi]
socket=192.168.234.128:8000
chdir=/home/tf/hdidentify
wsgi-file=hdidentify/wsgi.py
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uswgi.log
(2)启动uwsgi
启动:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid
三、配置nginx
(1)下载源码包
下载地址:http://nginx.org/download/
这里选择的时1.8.0版本
(2)解压源码包
tar -zxf nginx-1.8.1.tar.gz
(3)安装配置变量
1、安装依赖包
yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel
2、执行configure,进入nginx路径,执行:
./configure --prefix=/usr/local/nginx #安装路径为/usr/local/nginx
3、编译运行
make
make install
4、启动运行
(tensorflow) [tf@tf nginx]$ sudo sbin/nginx
(tensorflow) [tf@tf hdidentify]$ ps -aux | grep nginx
root 9002 0.0 0.0 24880 780 ? Ss 18:10 0:00 nginx: master process sbin/nginx
nobody 9003 0.0 0.0 27408 1548 ? S 18:10 0:00 nginx: worker process
tf 9137 0.0 0.0 112712 972 pts/0 R+ 18:23 0:00 grep --color=auto nginx
正常启动
5、停止
./nginx -s stop
6、编辑配置文件
server {
listen 80;
server_name tensorflow;
# 在server下添加新的location项,指向uwsgi的ip与端口
location / {
include uwsgi_params; # 将所有的参数转到uwsgi下
uwsgi_pass 192.168.234.128:8000;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
四、配置静态文件
(1)在nginx配置文件中加上静态文件的location
location /static {
alias /var/www/tf/static;
}
(2)在服务器上创建目录结构并修改权限
(tensorflow) [tf@tf hdidentify]$ sudo mkdir -r /var/www/tf/static
(tensorflow) [tf@tf hdidentify]$ sudo chmod 777 /var/www/tf/static
修改777权限
(3)修改settings文件
STATIC_ROOT='/var/www/test5/static/'
STATIC_URL='/static/'
(4)收集所有静态文件到static_root指定目录:python manage.py collectstatic
正在收集
(5)重启nginx、uwsgi
部署成功!
参考资料:黑马程序员-python就业班Django部分(网盘资源,无链接分享,侵删)
网友评论