1,测试项目是否正常运行
使用Django自带的server测试项目正确性:
python manage.py runserver 0.0.0.0:8080
如可访问正常,则项目正常。若出现无法连接的情况:
-
检查服务器安全组的所需要的端口是否开放
– 如果没有开放
##WARNGING:如果没有开放端口,就算在后面nginx配置完成,页面也将进不去1.开放端口命令: /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
2.保存:/etc/rc.d/init.d/iptables save
3.重启服务:/etc/init.d/iptables restart
4.查看端口是否开放:/sbin/iptables -L -n
-
检查项目
settings.py
文件中ALLOWED_HOSTS = []
字段改为ALLOWED_HOSTS = ['*']
允许所有连接 -
将项目文件放在/home/目录下
2,安装nginx
关闭Django自带server,安装Nginx
sudo apt-get install nginx
Nginx成功安装后会在80端口显示默认页面,如能看见默认页面,即为安装成功.
3.安装uwsgi
进入项目虚拟环境.安装uwsgi
source 虚拟环境路径
pip install uwsgi
使用uwsgi拉起项目
uwsgi --http:8080 --module report.wsgi
4,收集静态资源
在setting.py设置文件里面设置STATIC_ROOT=收集静态存放的路径
然后在manage目录下执行
python manage.py collectstatic
5,创建uwsgi配置文件
在项目目录下创建mysite_uwsgi.ini文件,内容如下:
[uwsgi]
# Django-related settings
# 这边是设置wsgi的端口,要和下面的nginx设置uwsgi的端口一致
# 这边可以只设置端口,只设置端口默认ip是127.0.0.1
socket = :8002
# the base directory (full path)
chdir = /home/项目路径
# django自带wsgi.py的文件路径
module = wsgi文件路径
# process-related settings
# master
master = true
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
plugin python = true
# set log file path
# 日志存放的路径
daemonize = 日志存放的路径
拉起项目
uwsgi --ini mysite_uwsgi.ini
6,配置Nginx
进入Nginx的目录
cd /etc/nginx
先删除80端口的默认页面(可选操作,或者更改defult文件,新建自定义的配置文件)
rm sites-enabled/default
在sites-available
下创建新的配置文件(自定义名称)`
cd sites-available/
vim
配置文件内容如下
server{
listen 开放的端口;
# 服务器IP地址
server_name 服务器IP;
# Django
# 这是固定的对接uwsgi ip和端口
location / {
uwsgi_pass 127.0.0.1:8002;
include /项目路径/uwsgi_params;
}
# 这边是静态文件访问的url地址和对应的静态文件的路径,css路径为/static/
#Django static
#location url {
# alias url对应的文件路径;
#}
# django收集静态文件后的css等的路径
location /static/ {
alias 收集静态文件的所在的路径;
}
}
然后进入sites-enabled/
目录,链接available
文件夹中的文件
cd ../sites-enabled/
sudo ln -s /etc/nginx/sites-available/自定义名称 自定义名称
拷贝uwsgi_params
文件至项目目录下:
cd ..
cp uwsgi_params 项目路径
7,重启Nginx
sudo /etc/init.d/nginx restart
8,到此为一些常用操作命令
sudo /etc/init.d/nginx stop
sudo /etc/init.d/nginx start
# 强制杀死uwsgi进程
pkill -f uwsgi -9
# 后台启动uwsgi
uwsgi -d --ini mysite_uwsgi.ini
# 查看nginx
ps –ef | grep nginx