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

如何通过服务器公网IP而非域名访问Nginx部署的WordPress?

如何通过服务器公网IP而非域名访问Nginx部署的WordPress?

我来帮你一步步搞定这个问题,核心要调整两个关键部分:WordPress的文件路径/权限和Nginx配置里的server_name设置,具体操作如下:

第一步:让Nginx能正确访问到WordPress文件

你现在把WordPress解压到了~/wordpress(你的用户主目录下),但Nginx配置里指定的根路径是/var/www/html/wordpress,这会导致Nginx找不到文件。你有两种解决方式:

方式1:把WordPress文件移到Nginx指定路径

执行以下命令迁移文件:

# 先创建目标目录(如果不存在的话)
mkdir -p /var/www/html/wordpress
# 把所有WordPress文件移动到目标目录
mv ~/wordpress/* /var/www/html/wordpress/

方式2:修改Nginx的root路径(不移动文件)

如果不想动文件位置,直接修改Nginx配置里的root字段,比如你的用户名是ubuntu,就改成:

root /home/ubuntu/wordpress;

但这种方式需要给Nginx运行用户(通常是www-data)赋予访问你用户目录的权限:

chown -R www-data:www-data ~/wordpress
chmod -R 755 ~/wordpress

第二步:配置server_name支持公网IP访问

你的Nginx配置里server_name ?;这部分需要修改,有几种实用选项:

  • 直接填你的公网IP:比如你的公网IP是123.45.67.89,就改成:
    server_name 123.45.67.89;
    
    这种方式最明确,只有访问这个IP时才会匹配当前server块。
  • 用下划线匹配任意请求:如果想让这个server块处理所有到服务器80端口的请求(不管用IP还是其他域名访问),可以改成:
    server_name _;
    
  • 留空:直接写server_name ;也能实现任意请求匹配,但用下划线的方式更符合Nginx的规范。

第三步:验证配置并重启服务

修改完Nginx配置后,先检查语法是否正确:

nginx -t

如果提示test is successful,就重启Nginx服务:

systemctl restart nginx

同时确认PHP-FPM服务正常运行:

systemctl status php8.1-fpm

如果没运行,就启动它:

systemctl start php8.1-fpm

第四步:开放服务器80端口防火墙

最后要确保服务器防火墙允许80端口的入站请求,以常用的ufw为例:

ufw allow 80/tcp

做完这些后,直接在浏览器输入服务器的公网IP,就能进入WordPress的安装向导了。注意安装时站点URL要填你的公网IP,避免后续出现跳转异常的问题。

备注:内容来源于stack exchange,提问作者palmasd1

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 08:24:50