目标 :浏览器 www.tiger.com 进入django项目主页
1、概念
1、Django项目(Web应用)
2、Web服务
1、nginx :高并发处理的好
2、Apache:稳定
LAMP : Linux、Apache、MySQL、Python/Php/Perl
LNMP : Linux、Nginx、MySQL、Python/Php/Perl
3、uwsgi
是Web服务器与Web框架之间一种简单而通用的接口
2、项目部署
1、部署环境准备
1、确保Django项目可以运行
2、安装nginx(用apt-get安装)
1、安装 :sudo apt-get install nginx
2、启动 :sudo /etc/init.d/nginx restart
3、验证 :浏览器,输入127.0.0.1->Welcome to nginx(80端口)
3、安装uwsgi(用pip3安装)
1、安装 :sudo pip3 install uwsgi
2、验证 :uwsgi --http :9999 --chdir /home/godyang/work/pf/ --module pf.wsgi
3、项目部署步骤
1、配置uwsgi(配置文件)
1、在项目目录(manage.py所在路径)中新建uwsgi启动文件 :uwsgi.ini
2、vi uwsgi.ini
配置文件内容如下: 直接copy
[uwsgi]
#使用nginx连接时使用,Django程序所在服务器地址
socket=10.211.55.2:8001 #改为服务器内网IP,本地测试为127.0.0.1
#直接做web服务器使用,Django程序所在服务器地址
#http=10.211.55.2:8001
#项目目录 (后端项目目录)
chdir=/Users/delron/Desktop/meiduo/meiduo_mall
#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=meiduo_mall/wsgi.py
# 进程数
processes=4
# 线程数
threads=2
# uwsgi服务器的角色
master=True
# 存放进程编号的文件
pidfile=uwsgi.pid
# 日志文件,因为uwsgi可以脱离终端在后台运行,日志看不见。我们以前的runserver是依赖终端的
daemonize=uwsgi.log
# 指定依赖的虚拟环境
virtualenv=/Users/delron/.virtualenv/meiduo
2、配置nginx(配置文件)(在nginx哪个配置文件里配置都可以,nginx.conf或者sites-enabled/default或者sites-enabled/新建配置文件)
1、sudo -i
2、cd /etc/nginx/sites-enabled/
3、vi projectNginx.conf
server{
# 监听本项目端口,浏览器输入的端口
listen 80;
server_name www.zy.com;(域名或者服务器外网IP或者用逗号隔开都写)
charset utf-8;
# 收集静态文件的路径
location /static{
alias /home/godyang/work/pf/static;
}
# 和uwsgi通信端口 和项目通信文件
location /{
include uwsgi_params;
uwsgi_pass 172.17.138.117:8000;(服务器内网IP)
}
}
5、vi /etc/nginx/sites-enabled/default
listen 80 default server;
# 把 80 端口改为其他端口,上下都改变,然后允许端口号
# 在settings中 ALLOWED_HOSTS = ['*']
6、重启nginx服务
sudo /etc/init.d/nginx restart
3、收集静态文件
1、在settings.py中添加路径(STATIC_ROOT)
STATIC_ROOT = '/home/tarena/project/fruitday/static/'
2、收集静态文件
python3 manage.py collectstatic
4、添加本地DNS解析
1、sudo -i
2、vi /etc/hosts
# 添加如下内容
127.0.0.1 www.tiger.com
3、重启网络服务
/etc/init.d/networking restart
5、uwsgi启动项目
1、切换到项目目录
cd /home/tarena/project/fruitday
2、利用uwsgi启动项目
uwsgi --ini uwsgi.ini