目录
————情况简介【序】
——试错01
——试错02【解决】
博主今天在CentOS Linux release 7.9.2009 安装完WordPress后,想为其在nginx中配置完端口、权限、及相应的环境后,在浏览器中登录显示一切正常。
【解决方法在最后03,前面主要是排错过程】
试错一:
【WordPress登陆成功页面】
但是,当我想把本地主机上的nginx中给WordPress配置的77端口号修改成91时,出现了错误:
之后每次修改完成后都重启nginx以便修改生效,systemctl restart nginx。
系统显示,重启后的相应服务一切正常!!!,于是我准备去浏览器登录WordPress。
于是就出现了非常有趣的一个现象,每当我将正确的本机ip地址加上配置的端口号91输入进去后,页面跳转就会将我的网址更改成 192.168.221.135:77,很显然,这是我之前的为它配置的端口,并且页面的报错也让我摸不着头脑。于是我进入 / var / log 下去查看nginx的报错日志。
查看完发现并没有我想要找的报错信息,事件再次陷入僵局。 于是我开始怀疑是否是页面缓存的问题,在修改WordPress的端口号后,可能存在一些缓存,包括浏览器缓存、WordPress页面缓存或其他缓存层。这些缓存可能仍然保留了旧的端口号信息,导致页面跳转到旧的端口号。当我将端口号修改回原先的值后,这些缓存可能被自动刷新或更新,从而解决了问题。
但是很显然这个不是我要的答案,因为我开启的是 无痕迹浏览模式。【如果是这个坑的小伙伴自己记得开启这个模式再试试】
所以我开始怀疑数据库配置问题:WordPress将网站的URL和其他相关信息存储在数据库中。如果在修改端口号后,数据库中的URL配置没有正确更新,可能会导致页面跳转到旧的端口号。当我将端口号修改回原先的值后,数据库中的URL配置与页面跳转的期望一致,因此问题消失了。
于是我作出如下操作,找到WordPress安装目录下面的wp-config.php文件,添加如下两句话,同事,务必将下面的example替换成自己的地址,同时加上端口号。
在作出操作前请先备份,防止出现不可逆操作。
define('WP_SITEURL', 'http://example.com:91');
define('WP_HOME', 'http://example.com:91');
检查端口号在正常运转,且主机地址无误后,重新在浏览器输入网址,但是很遗憾,貌似这个方法还是没有起作用。
试错二:
还剩最后一种办法,重装我们的wordpress和新建一个新的命名数据库,这样就能清除原先数据对我们的影响。
博客的下载地址:
wget https://cn.wordpress.org/wordpress-5.6.2-zh_CN.tar.gz
解压
tar -xf latest-zh_CN.tar.gz
切换到博客的目录下
cd /opt/wordpress
# 复制 wp-config-sample.php 为wp-config.php
cp wp-config-sample.php wp-config.php
成功之后,复制一份wordpress,重命名为wordpress-1(主要为了区分,命名自行决定)
mv wordpress/ /opt/wordpress-1
重点来了,进入wordpress-1这个目录,在下面找到名为 wp-config-sample.php 的文件,复制一份,重命名为wp-config.php,后面我们的操作就在这里修改!!!
cp wp-config-sample.php wp-config.php
进入(vi)我们刚新建的这个wp-config.php文件
vi wp-config.php
做出如下修改
# 修改
define( 'DB_NAME', 'database_name_here' );
define( 'DB_USER', 'username_here' );
define( 'DB_PASSWORD', 'password_here' );
define( 'DB_HOST', 'localhost' );
改为
define( 'DB_NAME', 'wordpress' ); # 数据库的库名【这里你再新建一个,不要和之前的一样】
define( 'DB_USER', 'root' ); # 数据库的登录用户名
define( 'DB_PASSWORD', '123456' ); # 数据库的登录的密码
define( 'DB_HOST', '10.31.154.123' );# 数据库的登录的ip
# 设置wordpress的权限
【改完务必设置这个权限,根据你自己的属主和属组来,这里我是www的属主和组】
chown -R www.www /opt/wordpress/
全部设置完成后,回到我们自己各自的nginx安装目录下,这里我是放在、etc/nginx/下,你如果忘了,可以使用
whereis nginx
来查看放在哪里
可以看到,下面有个名为conf.d的文件,进入后,配置我们和wordpress关联的文件,这里我是放在s2.conf里面,读者根据自己放置文件的情况来,以理解为主。
复制原先给wordpress的配置文件s2.conf,重命名一个新的文件,这里我是叫s6.conf,注意尾缀务必是 .conf 为结尾。
进入配置文档
server{
listen 98;
server_name localhost;
location / {
root /opt/wordpress-1;
index index.php index.html;
}
location ~ \.php$ {
root /opt/wordpress-1;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}
}
~
修改完成之后,保存退出,最后记得重启我们的nginx服务。
systemctl restart nginx
再次在浏览器输入我们的地址和端口号,然后就可以看到成功了。
如果提示还有报错,记得检查自己的防火墙关了没有,自己本地主机的也记得查看。
systemctl status firewalld #查看目前防火墙状态
systemctl stop firewalld #关停我们的防火墙
查看nginx服务开启的状态,代码见上,把firewalld换成nginx即可,
权限问题重启报错的,输入 setenforce 0后 再重启一遍。
查看自己的端口号开启是否正常
lsof -i:你自己设置的端口
重新启动php服务
systemctl restart php-fpm #重启服务,没装fpm的自己安装一下(百度)
systemctl status php-fpm #查看重启后的运行状态
检查数据库是否运行正常
lsof -i:3306 #这里数据库的端口通常是3306
如果以上流程走完均无问题,还是重启不了,具体原因可能还需排查。