用调试服务器启动django项目
python3 manage.py runserver 0.0.0.0:8001
启动文件 startup.sh sh ./startup.sh
#! /usr/bin python3
python3 manage.py runserver 0.0.0.0:8001
http://127.0.0.1:8001/blogs/ 访问django博客项目
http://127.0.0.1:8001/admin/
http://127.0.0.1:8001/blogs/
http://127.0.0.1:8001/detail/1/
http://127.0.0.1:8001/add_article/
http://127.0.0.1:8001/sub_article/
Nginx安装
sudo apt-get install nginx
sudo nginx 启动nginx
sudo killall nginx 杀死所有nginx进程
sudo nginx -t 检测语法是否正确
sudo nginx -s reload 重载nginx配置
/etc/nginx/sites-enabled 下default文件配置 或者/etc/nginx/nginx.conf 文件配置都可以
nginx配置
server {
listen 8000 default_server;
listen [::]:8000 ipv6only=on default_server;
server_name 127.0.0.1;
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:9090; #必须和uwsgi中的设置一致
}
}
uWsgi安装
pip install uwsgi
创建django_uwsgi.ini文件配置参数,参数化启动 uwsgi --ini django_uwsgi.ini
django_uwsgi.ini文件放在manage.py相同目录下
写成start_uwsgi.sh
#! /usr/bin python3
uwsgi --ini django_uwsgi.ini
django_uwsgi.ini 参数
[uwsgi]
# 请求方式与端口号
socket = :9090 # uwsgi直接访问用http,nginx访问用socket
chdir = /home/ezreal/pydj/csdnblog
module = csdnblog.wsgi
buffer-size = 65536
master = true
processes = 4
vacuum = true
注意(踩坑很久)
如果想直接通过uwsgi访问django这里需要配置http;
如果想通过Nginx请求uwsgi来访问Django项目,那么这里就要配置socket
访问http://127.0.0.1:8000/blogs/
访问http://IP:8000/blogs/ # 如果访问不了,一般是防火墙的原因,开对应的端口号就能局域网访问
局域网访问(开端口):
sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent # 防火墙开端口
sudo firewall-cmd --reload # 重新载入,更新防火墙规则
firewall-cmd --zone= public --query-port=8000/tcp #查看
firewall-cmd --zone= public --remove-port=8000/tcp --permanent # 删除
firewall-cmd --state # 看防火墙状态
/etc/nginx/conf.d/下的配置文件和/etc/nginx/sites-enabled/下的配置文件都可以include包括起来,作用跟/etc/nginx/nginx.conf一样
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
Nginx日志存放位置
/var/log/nginx/access.log
/var/log/nginx/error.log