生产环境django项目部署要点
django项目在centos7上运行注意事项:
centos7虚拟环境virtualenv安装
requirements安装项目环境依赖:
a、进入项目目录环境中
b、导入模块
- 导入方式一:输入:pip freeze >requirements.txt会在当前文件路径生成requirements.txt文件(pip的freeze命令保存了保存当前Python环境下所有类库包,其它包括那些你没有在当前项目中使用的类库。这种方式配合virtualenv比较理想,如果没有虚拟环境,会将系统里面的python所依赖的全部环境都导入出来的)
- 导入方式二:
pipreqs ./ --encoding=utf-8(这个工具的好处是可以通过对项目目录的扫描,自动发现使用了那些类库,自动生成依赖清单。缺点是可能会有些偏差,需要检查并自己调整下)输入:
c、安装模块
输入pip install
-
r requirements.txt会生成依赖的模块
uwsgi配置:
uwsgi --http :8000 --file MyselfObjects/wsgi.py --static-map=/static=static
nginx配置
a.修改nginx配置文件:vim /etc/nginx/conf.d/default.conf
b.重载服务:/usr/sbin/nginx -s reload
c.从外部访问nginx服务(192.168.10.11),如在客户机(192.168.10.10)的浏览器访问:
d.你发现访问不了,原因1,你没有在hosts文件做映射;原因2,即使你在hosts文件中了映射,由于nginx服务器的80端口堵塞或防火墙没关
e.解决办法:
步骤一:修改客户机(192.168.10.10)的hosts文件,使用SwitchHosts工具添加 192.168.10.11 yytest.com
步骤二:关闭防火墙,
9.nginx常用操作
启动: /usr/sbin/nginx或任意路径下运行:service nginx start(centos7是systemctl start nginx.service )
重启:$ /usr/sbin/nginx –s reload
停止:$ /usr/sbin/nginx –s stop
测试配置文件是否正常:$ /usr/sbin/nginx –t
Nginx+uwsgi启动django:
1、修改nginx配置文件,最新版本的配置文件位于:/etc/nginx/conf.b目录下
2、将/etc/nginx/目录下的uwsgi_params文件复制到项目目录下
3、在项目目录或者虚拟环境同目录下新建uwsgi配置文件,uwsgi.ini
(以上文件的配置请参考网站:https://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html)
4、检查uwsgi.ini文件的设置和自定义myobj_nginx.conf文件设置是否正确,
5、nginx -t 查看配置nginx.conf配置文件是否成功,
6、/usrsbin目录下操作服务器nginx启动命令:nginx -c /etc/nginx/nginx.conf
7、以配置文件的形式启动uwsgi服务:uwsgi --ini uwsgi.ini
远程登录,测试是否成功
由于不会手动配置Nginx和uwsgi,redis的开机启动脚本,这里只能先启动redis,然后再虚拟环境下启动Nginx和uwsgi
个人用服务器设置外部网络访问权限:
上面的操作能够满足内部网络的访问,但是外部用户无法访问
1、家庭或者个人环境搭建的服务器一般都是有路由的,首先进入路由器管理界面(例如:192.168.1.1)设置虚拟服务器映射,我的路由器设置如下图,如果不知道协议就选择ALL,对外开放端口为8080和80,服务器主机上面开的是80端口
网上还有一些其他配置教程,比如还需要配置服务器的静态ip地址,dns,路由器的DDNS,和DMZ主机选项等,如果都不行,就执行下面的操作
2、选用花生壳管理,https://b.oray.com/forward/
下载软件或者在官网注册账号,启动内网穿透(花了6元),然后添加映射关系,按照选项选,很简单,有些选项是需要花钱的,注意,内网IP是自己服务器所在路由器对外公网访问的IP地址(可以在路由器管理界面查看),
3,在服务器主机上面也下载花生壳管理(我的是linux版本的,地址:https://hsk.oray.com/download/#linux),根据官网提示安装,服务器上面安装的时候会生成NS号和密码,要记住,
4、根据使用帮助页面的提示一步一步操作,将NS号和自己的花生壳账号绑定,就会在自己的花生壳内网穿透界面的设备信息看到自己NS号对应的服务器,
5,第4步的操作是让花生壳解析一直在服务器在线,不然如果电脑或者手机关闭了花生壳管理软件,解析就不能正常运行了,别人访问不了你的网站
tips:查看服务器端口使用情况:netstat -nltp