lreis00 2020-06-29
pip freeze > plist.txt
sudo apt-get install python-virtualenv sudo easy_install virtualenvwrapper mkvirtualenv [虚拟环境名称]
在虚拟环境上工作,安装所有需要的包
workon [虚拟环境名称] pip install -r plist.txt
更改settings.py文件
DEBUG = False ALLOW_HOSTS=[‘*‘,]表示可以访问服务器的ip
启动服务器,运行正常,但是静态文件无法加载---看不到静态文件
WSGI
uWSGI---监听端口,然后运行python代码
pip install uwsgi
配置uWSGI,在项目中新建文件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
sudo apt-get nginx
这里以下载压缩文件为例演示
解压缩: tar zxvf nginx-1.6.3.tar.gz 进入nginx-1.6.3目录依次执行如下命令进行安装: ./configure make sudo make install
默认安装到/usr/local/nginx目录,进入此目录执行命令
sudo conf/nginx.conf 在server下添加新的location项,指向uwsgi的ip与端口 location / { include uwsgi_params;将所有的参数转到uwsgi下 uwsgi_pass uwsgi的ip与端口; }
修改uwsgi.ini文件,启动socket,禁用http
静态文件
location /static { alias /var/www/test5/static/; }
在服务器上创建目录结构“/var/www/test5/”
sudo chmod 777 /var/www/test5
创建static目录,注意顺序是先分配权限,再创建目录
mkdir static
STATIC_ROOT=‘/var/www/test5/static/‘ STATIC_URL=‘/static/‘
收集所有静态文件到static_root指定目录:python manage.py collectstatic