如何为Bitnami NGINX SSL Stack中部署的多个WordPress站点分配独立IP
嘿,我来帮你搞定这个多IP绑定多WordPress站点的问题!针对你用的Bitnami NGINX SSL Stack,咱们一步步来操作,保证每个WordPress都能绑定到指定的IP:
第一步:先确认VM上的目标IP地址
先在VM终端里执行命令ip addr(旧系统可以用ifconfig),把你想分配给两个WordPress的IP记下来,比如咱们暂时叫它们IP1(给默认的/opt/bitnami/wordpress)和IP2(给/opt/bitnami/apps/wordpress2)。
第二步:修改每个WordPress的NGINX虚拟主机配置
Bitnami的每个应用都有独立的NGINX配置文件,咱们分别修改:
针对第一个WordPress(/opt/bitnami/wordpress)
找到它的NGINX配置文件,一般路径是/opt/bitnami/apps/wordpress/conf/nginx-vhost.conf(如果找不到,也可以去/opt/bitnami/nginx/conf/server_blocks/目录下找对应wordpress的配置文件)。打开文件后,找到监听端口的指令:
- 把原来的
listen 80;改成listen IP1:80; - 把原来的
listen 443 ssl;改成listen IP1:443 ssl;
如果你的配置里有多个server块(比如HTTP跳转HTTPS的),记得每个涉及到这个站点的server块都要改成绑定IP1。
针对第二个WordPress(/opt/bitnami/apps/wordpress2)
同样找到它的NGINX配置文件,路径大概是/opt/bitnami/apps/wordpress2/conf/nginx-vhost.conf,做同样的修改:
- 把
listen 80;改成listen IP2:80; - 把
listen 443 ssl;改成listen IP2:443 ssl;
注意:如果你的SSL证书是每个IP单独申请的,还要在对应的server块里检查ssl_certificate和ssl_certificate_key的路径,确保指向对应IP的证书文件。
第三步:修改WordPress内部的站点URL配置
这一步很关键,不然WordPress会因为地址不匹配出现跳转错误。咱们直接修改每个站点的wp-config.php文件:
第一个WordPress
打开/opt/bitnami/wordpress/wp-config.php,在文件末尾添加(或者修改已有的)两行:
define('WP_HOME', 'https://IP1'); // 如果用HTTP就改成http://IP1 define('WP_SITEURL', 'https://IP1');
第二个WordPress
打开/opt/bitnami/apps/wordpress2/htdocs/wp-config.php(Bitnami的apps下WordPress根目录一般在htdocs里),同样添加:
define('WP_HOME', 'https://IP2'); define('WP_SITEURL', 'https://IP2');
第四步:重启NGINX服务让配置生效
在终端执行Bitnami的专用重启命令:
sudo /opt/bitnami/ctlscript.sh restart nginx
做完这些步骤后,你就可以分别通过IP1和IP2访问对应的WordPress站点了!如果遇到访问问题,可以检查NGINX的日志(路径/opt/bitnami/nginx/logs/error.log)排查错误。
备注:内容来源于stack exchange,提问作者S Nayak

