• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Nginx+Uwsgi+Django 项目部署到服务器的思路详解

python 搞代码 4年前 (2022-01-07) 42次浏览 已收录 0个评论

这篇文章主要介绍了Nginx+Uwsgi+Django 项目部署到服务器的思路,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

首先先说一下思路:

1.本地django项目打包 主要用到的是 python自带的distutils.core 下的 setup,具体代码在下面,主要讲的两个问题是package主要打包为和目录同级的代码,例如:TCMS如果还有一个子文件夹,那就不能自动打包了。这个时候需要用到data_files。glob(*filename)文件名模式匹配,不用遍历整个目录判断每个文件是不是符合。

 from distutils.core import setup import glob setup( name = "demo", version = "0.1", packages = ['author_zxx','TCMS','static'], data_files= glob.glob('templates/*.html') )

2.打包用到的木块,也就是python的库,pip freeze >> requirement.txt (requirement.txt 问文件名,随便起)

 pip freeze > requeirement.txt

3.服务器安装虚拟环境(非常重要,这一步一定要在开始。)

 yum install virtualenv yum install cirtualenvwrapper

4.创建虚拟环境 并且 指定虚拟换 用到的python 解释器版本

 # 创建一个项目目录 cd my_project # 创建虚拟环境 my_project_env 为虚拟环境的名称 virtualenv my_project_env # 指定虚拟环境所用到的python解释器版本 -p后面为python解释器存放的路径, my_project_env 为虚拟环境的名称 virtualenv -p /usr/bin/python2.7 my_project_env # 创建完成虚拟环境之后会生成一个文件夹,之后在bin文件夹中会有一个activate,我们在使用虚拟环境需要激活虚拟环境,source activate。 source my_project_env/bin/activate #退出虚拟环境 deactivate

5.在虚拟环境中安装django 和 uwsgi 。要指定安装版本和开发环境要一样

 pip install django==3.0.4 pip install uwsgi

6.创建django中的项目

 # . 表示在当前目录下创建,如果不加,会在project_name 下创建一个同名的目录。 django-admin startproject 'project_name' .

7. 将项目通过FileZilla 或者其他交互软件,传入到刚刚所创建的目录中。

8.项目上传完毕之后,需要安装我们所需要的包。

 # 刚刚 pip freeze > requirement.txt 所得 pip install -r requirement.txt

9.完成之后,可以通过 python manage.pu runserver 进行测试,是否成功。显示出下面得内容,即为成功。

 May 08, 2020 - 10:53:33 Django version 3.0.4, using settings 'TsmWeb.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK.

10.之后我们需要安装uwsgi替我们代替 python manage.py runserver. 因为在生产环境中我们不可能一直手动得去开启服务器,这个时候就需要uwsgi,刚刚已经安装过uwsgi。我们在服务器项目目录下创建一个test.py 文件。

 # test.py def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return "Hello World"

11. 之后在linux 命令行输入

 uwsgi --http :8001 --wsgi-file /‘路径,从跟开始'/test.py

如果出现下面得代码,则表示成功:

 *** Starting uWSGI 2.0.18 (64bit) on [Fri May 8 11:00:36 2020] *** compiled with version: 4.8.5 20150623 (Red Hat 4.8.5-39) on 07 May 2020 02<em style="color:transparent">来源[email protected]搞@^&代*@码)网</em>:26:03 os: Linux-3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020

12.之后我们需要安装Nginx

 yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install gcc-c++ yum install -y openssl openssl-devel wget -c https://nginx.org/download/nginx-1.14.0.tar.gz tar -zxvf nginx-1.14.0.tar.gz cd nginx-1.14.0 ./configure make make install

13.之后测试nginx是否可以正常使用,我们需要进到nginx文件下得sbin/ 目录,运行  ./nginx ,之后在浏览器访问我们地址即可。如果出现 Welcome to Nginx! 即表示成功

14.现在是nginx和uwsgi配置,这个也是最头疼的。

 # uwsgi 官网 https://uwsgi-docs.readthedocs.io/en/latest/ # nginx主要问题在 nginx.conf,下面附上详解 https://www.gaodaima.com/article/131362.htm

总结

到此这篇关于Nginx+Uwsgi+Django 项目部署到服务器的文章就介绍到这了,更多相关nginx uwsgi django 项目部署内容请搜索gaodaima搞代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持gaodaima搞代码网

以上就是Nginx+Uwsgi+Django 项目部署到服务器的思路详解的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Nginx+Uwsgi+Django 项目部署到服务器的思路详解

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址