centos+nginx+uwsgi部署django项目上线的方法
我django项目叫yunwei,主要app是rabc和web,整个项目放/opt/下
如下:
[root@test-code opt]# ls django_virt nginx redis redis-6.2.6 yunwei [root@test-code opt]# ls yunwei/ manage.py rbac static templates uwsgi web yunwei [root@test-code opt]# ls yunwei/uwsgi/ cut_log.sh log uwsgi.ini uwsgi.log uwsgi.pid uwsgi.sock [root@test-code opt]#
/opt/yunwei/就是我的django项目的根目录,manage.py就是在这个目录下,/opt/yunwei/下有一个同名子目录yunwei,下面有一个setting.py的配置文件
Python安装
如果用到的python版本是2,不需要重新安装,如果是3,那么需要重新安装
django相关库的安装
#在原项目处导出django项目安装的库存入文件 pip freeze > install.txt
把文件放到需要部署的服务器上,并安装文件内的包
#在待部署的服务器上执行 pip install -r install.txt
nginx安装&配置(处理静态请求和代理动态请求到uwsgi)
nginx安装参照:linux安装nginx
nginx配置文件如下
[root@test-code opt]# cat /opt/nginx/conf.d/django.conf server { listen 8881; server_name localhost; server_tokens off; location /static { root /opt/yunwei; index index.html index.htm; } location / { include uwsgi_params; #nginx加载uwsgi模块 uwsgi_buffer_size 16k; uwsgi_busy_buffers_size 24k; #如果你后端的需要超过60秒时间处理请求,那么一定要加上下面三个超时时间的设置,不然60s之后nginx断开链接报超时 uwsgi_send_timeout 600; # 指定向uWSGI传送请求的超时时间,完成握手后向uWSGI传送请求的超时时间。 uwsgi_connect_timeout 600; # 指定连接到后端uWSGI的超时时间。 uwsgi_read_timeout 600; # 指定接收uWSGI应答的超时时间,完成握手后接收uWSGI应答的超时时间。 uwsgi_pass unix:/opt/yunwei/uwsgi/uwsgi.sock; #nginx对应的uwsgi socket文件 } }
uwsgi安装&配置
pip install uwsgi
在django的项目目录下/opt/yunwei/创建一个uwsgi的目录用于存放uwsgi相关的文件。
cd /opt/yunwei/ && mkdir uwsgi touch uwsgi/uwsgi.ini
创建配置文件
[root@test-code yunwei]# cat uwsgi/uwsgi.ini [uwsgi] #django项目的根目录,即manage.py所在的目录 chdir=/opt/yunwei #django项目的wsgi,yuwnei的项目名 module=yunwei.wsgi:application socket=/opt/yunwei/uwsgi/uwsgi.sock #这里是我的python虚拟环境,可以不配置 home=/opt/django_virt #进程数 workers=5 #pid文件路径 pidfile=/opt/yunwei/uwsgi/uwsgi.pid #IP端口 socket = 0.0.0.0:8000 master=true #退出清理文件 vacuum=true #启用线程 enable-threads=true #序列化接受的内容,如果可能的话 thunder-lock=true #设置自中断时间,如果后端处理一些请求时间比较长,这个一定要设置大一点 harakiri=3600 # socket-timeout=3600 #这个是和nginx搭配部署时的设置 http-timeout=3600 #这个是单独部署时的设置 #设置缓冲 post-buffering=65535 buffer-size = 6553600 #后台守护方式运行,日志路径 daemonize=/opt/yunwei/uwsgi/uwsgi.log
标题关闭setting.py的DEBUG模式
vim /opt/yunwei/yunwei/setting.py DEBUG = True #改为 DEBUG = False
debug模式为True时,django会自己处理static的静态请求,现在是nginx去处理这些请求,故为False
做完上述步骤,只需要启动uwsgi和nginx即可,通过nginx listen端口去访问
#uwsgi 启动命令 uwsgi --ini /opt/yunwei/uwsgi/uwsgi.ini #uwsgi 重启命令 uwsgi --reload /opt/yunwei/uwsgi/uwsgi.ini
uwsgi的日志文件在/opt/yunwei/uwsgi/uwsgi.log处
可以通过 ss -tnulp | grep uwsgi 去kill -9 进程ID去杀掉进程
#启动nginx nginx #重启 nginx -s reload #关闭 nginx -s stop #检测配置文件是否正确 nginx -t
以上是centos+nginx+uwsgi部署django项目上线的方法的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

要让 Tomcat 服务器对外网访问,需要:修改 Tomcat 配置文件,允许外部连接。添加防火墙规则,允许访问 Tomcat 服务器端口。创建 DNS 记录,将域名指向 Tomcat 服务器公有 IP。可选:使用反向代理提升安全性和性能。可选:设置 HTTPS 以提高安全性。

ThinkPHP Framework 的本地运行步骤:下载并解压 ThinkPHP Framework 到本地目录。创建虚拟主机(可选),指向 ThinkPHP 根目录。配置数据库连接参数。启动 Web 服务器。初始化 ThinkPHP 应用程序。访问 ThinkPHP 应用程序 URL 运行。

Nginx 的启动和停止命令分别为 nginx 和 nginx -s quit。启动命令直接启动服务器,而停止命令优雅地关闭服务器,允许所有当前请求处理完毕。其他可用停止信号包括 stop 和 reload。

要解决 "Welcome to nginx!" 错误,需要检查虚拟主机配置,启用虚拟主机,重新加载 Nginx,如果无法找到虚拟主机配置文件,则创建默认页面并重新加载 Nginx,这样错误消息将消失,网站将正常显示。

Node.js 项目的服务器部署步骤:准备部署环境:获取服务器访问权限、安装 Node.js、设置 Git 存储库。构建应用程序:使用 npm run build 生成可部署代码和依赖项。上传代码到服务器:通过 Git 或文件传输协议。安装依赖项:SSH 登录服务器并使用 npm install 安装应用程序依赖项。启动应用程序:使用 node index.js 等命令启动应用程序,或使用 pm2 等进程管理器。配置反向代理(可选):使用 Nginx 或 Apache 等反向代理路由流量到应用程

要注册 phpMyAdmin,需要先创建 MySQL 用户并授予其权限,然后下载、安装和配置 phpMyAdmin,最后登录到 phpMyAdmin 以管理数据库。

访问网站出现 nginx,原因可能是:服务器维护、服务器繁忙、浏览器缓存、DNS 问题、防火墙阻止、网站错误配置、网络连接问题或网站已关闭。尝试以下解决方案:等待维护结束、非高峰时段访问、清除浏览器缓存、刷新 DNS 缓存、禁用防火墙或防病毒软件、联系网站管理员、检查网络连接或使用搜索引擎或 Web 存档查找其他网站副本。如果问题仍然存在,请与网站管理员联系。

Docker 环境中容器通信有五种方法:共享网络、Docker Compose、网络代理、共享卷、消息队列。根据隔离性和安全性需求,选择最合适的通信方法,例如利用 Docker Compose 简化连接或使用网络代理提高隔离性。
