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

在Azure VMSS上用Cloud Init部署WordPress时出现502错误网关

问题:Azure VMSS搭配应用网关部署WordPress异常(疑似NFS挂载相关配置问题)

我正尝试使用Terraform和Cloud Init在Azure虚拟机规模集(VMSS)上搭配应用网关部署WordPress实例。目前判断问题出在wordpress.conf和wp-config.php文件的挂载配置上,而非基础设施配置——因为仅启动nginx时,公网IP的80端口能正常返回"Welcome to nginx"页面。

当前使用的Cloud Init文件

#cloud-config
package_upgrade: true
packages:
  - nginx
  - php-curl
  - php-gd
  - php-intl
  - php-mbstring
  - php-soap
  - php-xml
  - php-xmlrpc
  - php-zip
  - php-fpm
  - php-mysql
  - nfs-common

write_files:
- path: /tmp/wp-config.php
  content: |
      <?php
      define('DB_NAME', 'wordpressdb');
      define('DB_USER', 'wordpress');
      define('DB_PASSWORD', 'w0rdpr3ss@p4ss');
      define('DB_HOST', '${database_fqdn}');
      $table_prefix = 'wp_';
      if ( ! defined( 'ABSPATH' ) ) {
        define( 'ABSPATH', __DIR__ . '/' );
      }
      require_once ABSPATH . 'wp-settings.php';
      ?>


- path: /tmp/wordpress.conf
  content: |
    server {
        listen 80;
        server_name _;
        root /data/nfs/wordpress;

        index index.html index.htm index.php;

        location / {
            try_files $uri $uri/ /index.php$is_args$args;
        }

        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }

        location = /favicon.ico { 
            log_not_found off; 
            access_log off; 
        }

        location = /robots.txt {
            log_not_found off;
            access_log off;
            allow all;
        }

        location ~* \.(css|gif|ico|jpeg|jpg|js|png)$ {
          expires max;
          log_not_found off;
        }

        location ~ /\.ht {
            deny all;
        }

    }

runcmd: 
  - mkdir -p /data/nfs/wordpress
  - mount -t nfs ${wordpress_storage_account_name}.file.core.windows.net:/${wordpress_storage_account_name}/${client_tag}wpstorageshare${environment_prefix} /data/nfs -o vers=4,minorversion=1,sec=sys
  - wget http://wordpress.org/latest.tar.gz -P /data/nfs/wordpress
  - tar xzvf /data/nfs/wordpress/latest.tar.gz -C /data/nfs/wordpress --strip-components=1
  - cp /tmp/wp-config.php /data/nfs/wordpress/wp-config.php
  - cp /tmp/wordpress.conf  /etc/nginx/sites-available/wordpress.conf
  - ln -s /etc/nginx/sites-available/wordpress.conf .
  - chown -R www-data:www-data /data/nfs/wordpress
  - rm /etc/nginx/sites-enabled/default
  - rm /etc/nginx/sites-available/default
  - mkdir /etc/systemd/system/nginx.service.d
  - printf "[Service]\nExecStartPost=/bin/sleep 0.1\n" > /etc/systemd/system/nginx.service.d/override.conf
  - systemctl daemon-reload
  - systemctl restart nginx

备注:上述cloud-init文件配置为将WordPress和nginx配置文件解压放置到挂载的Azure存储账户(NFS)目录中。

已尝试的修复措施

  • 更新“location /”块语法(无变化)
  • 使用sudo nginx -t检查配置语法(返回正常)
  • 尝试修改nginx监听端口(无变化)
  • 查看VM配置时的串行日志(未发现错误)
  • 执行sudo systemctl status nginx检查服务器状态(显示为运行中)

预期结果

首次访问应用网关的公网IP时,能显示WordPress初始化页面。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 01:18:08