Centos8下django项目部署 nginx+uwsgi的教程_Linux

来源:脚本之家  责任编辑:小易  

mod_wsgi.so最好是windows平台下的。如果你下载的版本不对,当然不能链接。如果有可能,你可以用apache的工具将mod_wsgi重新编译一下,应该可以的www.zgxue.com防采集请勿采集本网。

1.虚拟环境virtualenv安装

安装Django比较简单,但需要安装其依赖的东西,还是需要一定时间的。我使用的环境是CentOS Linux release 7.3.1611。内核为:3.10.0-514.10.2.el7.x86_64。安装Django 首先需要安装pip命令,看

1.安装virtualenv

选择第一项是正常启动 第二项是修复模式,centos有问题,不能正常进入的时候,才选择第二项,手动进行系统修复。

这个可能性太多了,没有贴出错误信息、源代码、Linux环境情况,真的无法给出准确答案。建议系统学一下Django,比如Django高级教程

 pip3 install virtualenv

如果光是网站程序,不需要用win的文件系统,用centos的文件系统是可以的,你在centos里面用ntfs肯定会消耗大量cpu资源

2.创建目录,把项目文件传过来

随便填 localhsot centos8.lan xxxhost.lan

这个可能性太多了,没有贴出错误信息、源代码、Linux环境情况,真的无法给出准确答案。建议系统学一下Django,比如Django高级教程

 mkdir My

 cd My

3.创建独立运行环境-命名

这个可能性太多了,没有贴出错误信息、源代码、Linux环境情况,真的无法给出准确答案。建议系统学一下Django,比如Django高级教程

 virtualenv --no-site-packages --python=python3  venv1   #创建独立的环境,并且指定解释器是python3

4.进入虚拟环境

这个可能性太多了,没有贴出错误信息、源代码、Linux环境情况,真的无法给出准确答案。建议系统学一下Django,比如Django高级教程

 source venv1/bin/activate   #此时进入虚拟环境(venv1)

5.在虚拟环境中安装第三方库,导入需要的环境(导出命令:pip3 freeze > packages.txt)

这个可能性太多了,没有贴出错误信息、源代码、Linux环境情况,真的无法给出准确答案。建议系统学一下Django,比如Django高级教程

 pip3 install django==2.11   #此时pip3的包都会安装到venv1环境下,venv1是针对Myproject创建的

 pip3 install -r packages.txt

6.退出venv1环境

这个可能性太多了,没有贴出错误信息、源代码、Linux环境情况,真的无法给出准确答案。建议系统学一下Django,比如Django高级教程

  deactivate

7. virtualenv是如何创建“独立”的Python运行环境的呢?原理很简单,就是把系统Python复制一份到virtualenv的环境,

 用命令source venv/bin/activate进入一个virtualenv环境时,virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。

2.django配置

1.settings.py

DEBUG = False #debug改为falseALLOWED_HOSTS = ['*'] # 访问地址改为 “*” 表示所有STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR),"static") #nginx访问的目录 放到了之前static的上一级目录,可以自定义 需要写绝对路径STATIC_URL = '/static/' STATICFILES_DIRS=[ os.path.join(BASE_DIR,"static"),]MEDIA_URL = '/archive/'MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'archive') #用户上传的静态文件,如:头像

配置完成后运行python manage.py collectstatic 加载静态文件至STATIC_ROOT 目录

2.urls.py

from django.urls import path,re_pathfrom django.conf import settingsfrom django.views.static import serve urlpatterns = [   re_path(r'^archive/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}, name='archive'), #用户上传的文件 path('favicon.ico', serve,{'path': 'img/favicon.ico','document_root':settings.STATIC_ROOT}), #全局favicon.ico图标]

3.安装和配置uwsgi

1.进入虚拟环境venv1,安装uwsgi(最好虚拟环境外也安装一下)

这个可能性太多了,没有贴出错误信息、源代码、Linux环境情况,真的无法给出准确答案。建议系统学一下Django,比如Django高级教程

 (venv1) [root@localhost ~]# pip3 install uwsgi

2.配置启动文件(放到哪个目录都可以,我放到venv1下了)

  uwsgi支持ini、xml等多种配置方式,本文以 ini 为例, 在/etc/目录下新建uwsgi.ini,添加如下配置:

#添加配置选择 [uwsgi] #配置和nginx连接的socket连接 socket=127.0.0.1:8000 #http=0.0.0.0:8000 #http连接 #配置项目路径,项目的所在目录 chdir = /opt/My/Myproject #配置wsgi接口模块文件路径,也就是wsgi.py这个文件所在的目录名 wsgi-file = Myproject/wsgi.py #配置启动的进程数 processes=4 #配置每个进程的线程数 threads=2 #配置启动管理主进程 master=True #虚拟环境目录 home=/opt/My/venv1 #配置存放主进程的进程号文件(我注释了,据说和supervisor的日志冲突) #pidfile=uwsgi.pid #配置dump日志记录 (同上) #daemonize=uwsgi.log

  3.指定配置文件启动

这个可能性太多了,没有贴出错误信息、源代码、Linux环境情况,真的无法给出准确答案。建议系统学一下Django,比如Django高级教程

    uwsgi --ini  /opt/My/venv1/uwsgi.ini

4.安装和配置nginx

1.centos8安装nginx(直接yum安装)

这个可能性太多了,没有贴出错误信息、源代码、Linux环境情况,真的无法给出准确答案。建议系统学一下Django,比如Django高级教程

 yum install -y nginx

2.配置nginx.conf

user nginx; worker_processes 2; #进程数 error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. #include /etc/nginx/conf.d/*.conf; server { listen 80;#监听端口 #listen [::]:80 default_server; server_name 192.168.3.119;# 域名或者IP #root /usr/share/nginx/html; # Load configuration files for the default server block. #include /etc/nginx/default.d/*.conf; charset utf-8; location /static { alias /opt/My/static; #静态文件地址(STATIC_ROOT) } location / { include uwsgi_params; uwsgi_pass 0.0.0.0:8000; #项目端口号 uwsgi_param UWSGI_SCRIPT Myproject.wsgi; #项目wsgi.py目录 uwsgi_param UWSGI_CHDIR /opt/My/Myproject; #项目目录 } } }

  3.启动nginx

   /usr/sbin/nginx

5.安装和配置supervisor

1.安装supervisor

这个可能性太多了,没有贴出错误信息、源代码、Linux环境情况,真的无法给出准确答案。建议系统学一下Django,比如Django高级教程

  pip3 install supervisor  # 之前需要python2的环境才可以安装 现在直接pip3安装就可以

2.通过命令生成配置文件到etc目录(可以自定义)

这个可能性太多了,没有贴出错误信息、源代码、Linux环境情况,真的无法给出准确答案。建议系统学一下Django,比如Django高级教程

  echo_supervisord_conf > /etc/supervisord.conf

3.在配置文件末尾添加如下代码

[program:myname] #任务名 command=/opt/my/venv1/bin/uwsgi --ini /opt/my/venv1/uwsgi.ini #执行的命令 运行uwsgi。 uwsgi是虚拟环境内的 [program:nginx] command=/usr/sbin/nginx #运行nginx

4.启动supervisor

supervisord -c /etc/supervisord.conf #启动supervisor supervisorctl -c /etc/supervisord.conf #进入supervisor交互界面

5.supervisor命令

start myname #启动 \ stop myname #停止 >> 可以写任务名称或者 all 表示全部 restart myname #重启 /

到此这篇关于Centos8下django项目部署 nginx+uwsgi的教程的文章就介绍到这了,更多相关django项目部署 nginx+uwsgi内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

第一步安装Django:下载包:Django-0.96.1.tar.gz 解压这个包:tar zxf Django-0.96.1.tar.gz-C/usr/tmp 安装:cd/usr/tmp cd Django-0.96.1 su python setup.py install 检查安装是否正确:python>>>import django>>>django.VERSION内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • nginx+uwsgi启动django项目的详细步骤
  • 详解python使用nginx和uwsgi来运行python应用
  • 使用nginx+uwsgi实现python的django框架站点动静分离
  • 详解使用nginx和uwsgi配置python的web项目的方法
  • ubuntu 14.04+django 1.7.1+nginx+uwsgi部署教程
  • 在ubuntu 14 上安装 nginx-rtmp 流媒体服务器的教程
  • apache time_wait连接数太多问题解决方法
  • linux下python脚本自启动与定时任务详解
  • linux使用crontab定时访问某个路由地址的方法
  • ubuntu18.04下安装mysql(图文教程)
  • linux 定时任务详解
  • linux c 后台服务程序单进程控制的实现
  • 使用wget递归镜像网站
  • linux服务器基本安全配置手册
  • centos7.4 zabbix3.4.7源码安装的方法步骤
  • 在centos中怎么安装django
  • centos 怎么在apache中设置django
  • centos下怎么安装django
  • centos 6.6 django 是1.5.4版本的
  • 在centos 7 中怎么安装django-guardian
  • centos 7 安装完毕之后启动时出现两个启动项,不知道是做什么的求解答。
  • django本地支持了中文登录,但是配置到服务器(centOS7后中文登录请求不到 )
  • centos release 6.8 系统文件应该放在哪个文件夹下运行
  • Linux的CentOS8安装时的domain填什么?
  • 请问centOS8开机出现这种情况是怎么回事?
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器linuxnginx+uwsgi启动django项目的详细步骤详解python使用nginx和uwsgi来运行python应用使用nginx+uwsgi实现python的django框架站点动静分离详解使用nginx和uwsgi配置python的web项目的方法ubuntu 14.04+django 1.7.1+nginx+uwsgi部署教程在ubuntu 14 上安装 nginx-rtmp 流媒体服务器的教程apache time_wait连接数太多问题解决方法linux下python脚本自启动与定时任务详解linux使用crontab定时访问某个路由地址的方法ubuntu18.04下安装mysql(图文教程)linux 定时任务详解linux c 后台服务程序单进程控制的实现使用wget递归镜像网站linux服务器基本安全配置手册centos7.4 zabbix3.4.7源码安装的方法步骤apache开启.htaccess及.htaccessservice temporarily unavailabllinux下实现免密码登录(超详细)apache rewrite url重定向功能的linux下用cron定时执行任务的方法apache性能测试工具ab使用详解centos 6.4安装配置lamp服务器(a阿里云服务器ping不通解决办法(centos+nginx+php+mysql详细配置apache you don""t have permiss详解如何在 centos 7 上安装和安全配置 mlinux下php安装xml扩展的详细步骤mac下配置和访问阿里云服务器(ubuntu系统linux下实现vps免费备份脚本centos6.5搭建java开发环境配置详解expect命令在linux下实现批量ssh免密linux加入windows ad域步骤详解(winbindslinux下通过squid反向代理搭建cdn缓存服务使用apachetop实时监控日志、动态分析服务正确配置与维护apache安全性设置方法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved