您的位置:首页 > 科技 > 能源 > 武汉seo网站优化运营_用来制作网页的软件是_比较好的软文发布平台_下载百度app免费下载安装

武汉seo网站优化运营_用来制作网页的软件是_比较好的软文发布平台_下载百度app免费下载安装

2025/4/13 5:06:05 来源:https://blog.csdn.net/wyk123_046/article/details/147097441  浏览:    关键词:武汉seo网站优化运营_用来制作网页的软件是_比较好的软文发布平台_下载百度app免费下载安装
武汉seo网站优化运营_用来制作网页的软件是_比较好的软文发布平台_下载百度app免费下载安装

文章目录

    • 1、apache + mod_wsgi,nginx + waitress两种部署方式的区别
    • 2、以nginx + waitress为例

有些项目必须部署在windows上,有IIS + wfastcgi、apache + mod_wsgi,nginx + waitress部署方式

1、apache + mod_wsgi,nginx + waitress两种部署方式的区别

  • 服务器性能
apache + mod_wsgi:Apache 是一款成熟的服务器软件,具有丰富的功能和模块。mod_wsgi模块将 Apache 与 Python 的 WSGI 应用(如 Django 项目)集成。不过,Apache 在处理大量并发请求时,资源消耗相对较高,性能可能会受到一定限制。
nginx + waitress:Nginx 以高性能、轻量级和处理高并发能力强著称。Waitress 是一个纯 Python 的 WSGI 服务器,性能较为出色。Nginx 可以作为反向代理服务器,将请求转发给 Waitress 处理,这种组合在处理高并发请求时表现更优,能够提供更好的性能和响应速度。
  • 配置复杂度
apache + mod_wsgi:Apache 的配置相对复杂,有大量的配置指令和模块需要理解和配置。配置mod_wsgi时,需要正确设置 WSGI 应用的相关参数,如 Python 路径、项目路径等,配置文件可能会比较冗长,对于初学者来说上手难度较大。
nginx + waitress:Nginx 的配置相对简洁明了,其配置文件结构清晰,主要包括服务器块、位置块等。Waitress 的配置相对简单,只需要指定端口、WSGI 应用等基本信息。整体来说,nginx + waitress的配置更容易理解和掌握,降低了部署的难度。
  • 稳定性
apache + mod_wsgi:Apache 经过了长期的发展和广泛的应用,具有较高的稳定性。mod_wsgi模块也比较成熟,在正确配置和维护的情况下,能够稳定地运行 Django 项目。不过,由于 Apache 的复杂性,某些配置不当或模块冲突可能会导致稳定性问题。
nginx + waitress:Nginx 以稳定性著称,在处理高并发和长时间运行时表现出色。Waitress 作为一个轻量级的 WSGI 服务器,也具有较好的稳定性。两者结合使用时,能够提供可靠的服务,并且在出现问题时,由于配置相对简单,更容易排查和解决问题。
  • 灵活性
apache + mod_wsgi:Apache 拥有丰富的模块和功能,可以通过各种模块实现诸如身份验证、访问控制、URL 重写等复杂功能。mod_wsgi也提供了一些配置选项来满足不同的部署需求。然而,由于其复杂性,在进行一些特殊配置或功能扩展时,可能需要深入了解 Apache 的内部机制。
nginx + waitress:Nginx 同样具有很强的灵活性,它可以方便地配置反向代理、负载均衡、SSL/TLS 加密等功能。Waitress 虽然功能相对较为单一,但作为 WSGI 服务器,能够很好地与 Django 项目集成。在nginx + waitress的组合中,可以通过 Nginx 的配置来灵活地调整服务器的行为,以适应不同的项目需求。
  • 资源占用
apache + mod_wsgi:Apache 在运行时会占用较多的系统资源,包括内存和 CPU。特别是在处理大量并发请求时,进程和线程的管理会消耗一定的资源。mod_wsgi模块也会占用一定的内存空间来加载 Python 解释器和 WSGI 应用。
nginx + waitress:Nginx 本身是一个轻量级的服务器,资源占用较少。Waitress 作为 Python 的 WSGI 服务器,相对来说资源消耗也比较低。在处理相同数量的并发请求时,nginx + waitress组合通常比apache + mod_wsgi占用更少的系统资源,能够在有限的硬件资源下提供更好的性能。

2、以nginx + waitress为例

  • nginx的下载、安装就不用多说了。nginx 配置 主要是修改nginx目录下的conf/nginx.conf
    下面的配置是比较齐全的,包括域名,ssl证书、静态文件及媒体文件
http {include       mime.types;default_type  application/octet-stream;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;http2 on; # HTTP 重定向(80端口)
server {listen 80;server_name www.ruicare.cn;return 301 https://$server_name$request_uri;  # 强制跳转 HTTPS
}# HTTPS 服务(443端口)
server {listen 443 ssl;server_name www.ruicare.cn;# SSL 证书配置(项目 A 证书)ssl_certificate     E:/Backup/nginx/certificates/ruicare.cn_bundle.crt;ssl_certificate_key E:/Backup/nginx/certificates/ruicare.cn.key;# SSL 安全配置(推荐通用配置)ssl_session_timeout 10m;ssl_protocols       TLSv1.2 TLSv1.3;ssl_ciphers         ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256;ssl_prefer_server_ciphers on;# 静态文件与媒体文件(项目 A)location /static/ {root E:/demotm;   expires 30d;                  # 静态文件缓存 30天access_log off;               # 关闭静态文件访问日志}location /media/ {root E:/demotm;expires 30d;access_log off;}# 前端路由处理location / {root D:/nginx/html;     # 前端打包后的根目录index index.html;              # 默认首页try_files $uri $uri/ /index.html;  # 处理前端路由(如刷新404问题)# 排除 API 路径,交给后端代理(更推荐用独立的 location /api/ 块)if ($request_uri !~ ^/api/) {  # 非 API 请求,返回前端页面break;}}# 后端接口代理(项目 A 后端:8090端口)location /api/ {proxy_pass http://localhost:8080/api/;  # 注意末尾的斜杠,与后端接口前缀匹配proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;  # 传递 HTTPS 协议头# 超时与性能优化proxy_connect_timeout 10m;proxy_read_timeout 600s;proxy_buffer_size 128k;proxy_buffers 4 256k;}# 错误页面error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}
}
  • 后端使用waitress
  下载  `pip install waitress`使用 在django项目的根目录创建run.py(文件名随意)
# run.py
from dltm.wsgi import application
from waitress import serveserve(application, host='0.0.0.0', port=8080, url_scheme='https')
# 也可配置多线程多进程

启动 直接项目目录下 python run.py 来启动

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com