You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plesk环境下Apache运行时Nginx无法启动,如何部署静态网站?

解决Nginx启动失败并同时托管静态站与WordPress的方案

一、先解决Nginx启动失败的核心问题

你遇到的unknown directive "brotli"错误,是因为Nginx未安装Brotli压缩模块,却加载了包含该指令的配置文件。解决方法:

  • 临时禁用Brotli配置:
    执行命令将Brotli配置文件重命名,避免Nginx加载它:
    sudo mv /etc/nginx/conf.d/brotli.conf /etc/nginx/conf.d/brotli.conf.bak
    
  • 测试Nginx配置:
    执行命令验证配置语法是否正常:
    sudo nginx -t
    
    如果输出nginx: configuration file /etc/nginx/nginx.conf test is successful,说明配置已修复。

二、调整端口与域名转发,实现双站点共存

由于Plesk默认是Nginx作为反向代理、Apache处理动态请求,你当前的端口占用逻辑不合理,需要调整为Nginx监听80端口(对外服务),Apache监听8080端口(处理WordPress动态请求),Nginx根据域名转发请求:

1. 修改Apache监听端口

  • 编辑Apache端口配置文件:
    sudo nano /etc/apache2/ports.conf
    
  • 将文件中的Listen 80修改为Listen 8080,保存退出(按Ctrl+O,回车,再按Ctrl+X)。
  • 重启Apache使配置生效:
    sudo systemctl restart apache2
    

2. 配置Nginx托管静态站点

  • 编辑你的静态站配置文件:
    sudo nano /etc/nginx/sites-available/bloggrammer
    
  • 修改为以下内容(监听80端口,匹配静态站域名):
    server {
        listen *:80;
        listen [::]:80;
    
        server_name bloggrammer.com www.bloggrammer.com;
        root /var/www/bloggrammer.com;
    
        location / {
            index index.html;
        }
    
        # 静态资源缓存优化(可选)
        location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
            expires 1y;
            add_header Cache-Control "public, immutable";
        }
    }
    
  • 确保配置已启用(如果之前没做过):
    sudo ln -s /etc/nginx/sites-available/bloggrammer /etc/nginx/sites-enabled/
    

3. 配置Nginx反向代理WordPress

  • 新建WordPress的Nginx配置文件(替换your-wordpress-domain.com为你的实际域名):
    sudo nano /etc/nginx/sites-available/wordpress-proxy
    
  • 添加以下反向代理配置:
    server {
        listen *:80;
        listen [::]:80;
    
        server_name your-wordpress-domain.com www.your-wordpress-domain.com;
    
        location / {
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header Host $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;
        }
    }
    
  • 启用该配置:
    sudo ln -s /etc/nginx/sites-available/wordpress-proxy /etc/nginx/sites-enabled/
    

4. 重启Nginx并验证

  • 再次测试Nginx配置:
    sudo nginx -t
    
  • 重启Nginx:
    sudo systemctl restart nginx
    
  • 验证效果:
    • 访问bloggrammer.com:应加载你的静态网站
    • 访问WordPress域名:应正常加载WordPress站点

三、(可选)后续安装Brotli模块

如果需要启用Brotli压缩,针对Plesk环境,你可以通过Plesk面板或官方工具安装对应模块:

  • 登录Plesk面板,进入工具与设置 > 组件,找到Nginx相关组件,勾选Brotli模块进行安装
  • 安装完成后,将之前重命名的brotli.conf.bak改回brotli.conf,重启Nginx即可

内容的提问来源于stack exchange,提问作者Bloggrammer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 20:45:57