更改Nignx端口导致无法连接数据库

博主在CentOS7.9上安装WordPress并配置nginx后,尝试更改端口从77到91时遇到问题,浏览器始终跳转至旧端口。经过排查,包括清除缓存、检查数据库配置和重装WordPress,最终通过修改wp-config.php文件中的WP_SITEURL和WP_HOME以及更新nginx配置解决问题。
摘要由CSDN通过智能技术生成

目录

————情况简介【序】

       ——试错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

如果以上流程走完均无问题,还是重启不了,具体原因可能还需排查。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值