我正在尝试通过 Nginx 安装 Wordpress。我想通过访问公共 IP 地址来打开 Wordpress。
我将 Wordpress 提取到 ~/wordpress
ls ~/wordpress/
index.php readme.html wp-admin wp-comments-post.php wp-content wp-includes wp-load.php wp-mail.php wp-signup.php xmlrpc.php
license.txt wp-activate.php wp-blog-header.php wp-config-sample.php wp-cron.php wp-links-opml.php wp-login.php wp-settings.php wp-trackback.php
我应该如何更改我的 Nginx 配置?
server {
listen 80;
root /var/www/html/wordpress;
index index.php index.html index.htm;
server_name ?;
client_max_body_size 500M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
答案1
尝试使用这样的“listen”指令:
听 80 默认服务器;
当 HTTP Host 标头与任何其他服务器块不匹配时,它将使此虚拟主机成为处理请求的默认服务器。因此,它应该处理直接通过公共 IP 地址进行的任何访问。
答案2
在 nginx 中,server_name: _
请注意,管理页面默认需要 HTTPS,如果没有名称就无法使用(您可以使用任何证书,只要您不介意点击错误)。
虽然核心 Wordpress 应该可以工作(但您无法通过地址和名称访问它)但很多插件可能无法正常运行。