1、搭建服务器虚拟环境
1.1 从本地电脑进如虚拟环境,执行命令到处当前项目依赖的所有包的版本名称
1.2通常采用ftp软件将项目代码和install.txt文件上传到服务器,此处为简便采用scp命令
scp 项目文件名 -r 服务器用户名@服务器地址:/服务器保存文件的路径/
1.3 远程连接服务器,创建虚拟环境
1.4 创建虚拟环境,在虚拟环境上安装包
mkvirtualenv 虚拟环境名(如本项目虚拟环境名django3.5)
pip install -r install.txt
1.5 创建完虚拟环境后通过虚拟环境进入项目目录进行调试:
python manage.py runserver 0.0.0.0:8000
图(1)在虚拟环境中通过django启动项目
在浏览器地址类输入39.106.48.100:8000查看效果如下:
图(2)启动django调试结果成功2、 WSGI简介
在生产环境中使用WSGI作为python web的服务器
WSGI:全拼为Python Web Server Gateway Interface,Python Web服务器网关接口,是Python应用程序或框架和Web服务器之间的一种接口,被广泛接受。WSGI没有官方的实现,因为WSGI更像一个协议,只要遵照这些协议,WSGI应用(Application)都可以在任何服务器(Server)上运行
项目默认会生成一个wsgi.py文件,确定了settings模块、application对象
application对象:在Python模块中使用application对象与应用服务器交互
settings模块:用于进行项目配置
2.1 uWSGI的安装与配置
uWSGI实现了WSGI的所有接口,是一个快速、自我修复、开发人员和系统管理员 友好的服务器。
uWSGI代码完全用C编写,效率高、性能稳定
2.1.1 安装uWSGI
2.1.2 配置uWSGI,在项目目录下创建uwsgi.ini文件,配置如下
[uwsgi]
使用nginx连接时使用
socket=192.168.1.224:8080
直接做web服务器使用
http=192.168.1.224:8080
项目目录
chdir=/home/shenxian01/
项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=ixianpin/wsgi.py
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uwsgi.log
关于此配置文件的说明:http与socket之后的ip地址一般应填写公网ip,由于阿里云为 弹性ip也就是ifconfig之后只显示有内网地址没有公网地址,则此处填写内网地址而不能填 写公网地址,否则uwsgi不能正常启动。
2.1.3 启动uwsgi
启动之后再次进行调试,在浏览器输入地址:39.106.48.100:8080,效果如下
图2(1)启动uwsgi调试结果
看到如图所示说明,uwsgi启动成功并正常工作
查看
如有错误查看uwsgi.log文件查看错误的问题然后予以解决
效果如下图:
图2(2)查看启动uwsgi后的进程uwsgi的停止
3 、Nginx的安装与配置
Nginx作为一款面向性能设计的HTTP服务器,不但在稳定性和性能方面相当出众,而且它模块化的设计让其具有异常灵活的扩展性。
使用nginx的作用主要包括负载均衡、反向代理
3.1 安装:
将提前从官网下载好的nginx上传到服务器,解压缩
tar zxvf nginx-1.6.3.tar.gz
进入nginx-1.6.3目录,一次执行一下命令安装
./configure
make
sudo make install
3.2 配置
默认安装到/usr/local/nginx目录下,作为原始配置文件,我们一般不做修改,进入/etc/nginx/sites-available/目录下,复制default文件为django,修改django配置文件如下:
server{
listen 9000;
location/ {
include uwsgi_params;
uwsgi_pass 192.168.1.224:8080;
}
location /static {
alias/var/www/dailyfresh/static/;
}
然后建立软连接:
ln -s /etc/nginx/sites-available/django /etc/nginx/sites-enabled/
3.3 启动
service nginx start
外网访问39.106.48.100校验nginx是否开启成功
图3-3(1)查看启动nginx效果如图所示则表示开启nginx成功
修改/etc/nginx/sites-available/目录下的default文件,将默认监听的80端口改为9000,然 后同级目录下的的django文件,将测试设置的监听端口9000端口改为80端口,重新开启nginx服 务
service nginx reload
使用这个命令不需要停止nginx服务
3.4 部署效果展示
至此所有配置均已完成开始校验部署效果
图3-4(1)查看完整部署效果
网友评论