WordPress站点更换公网IP后不能正常访问的解决过程
生产环境:
操作系统:CentOS release 6.8 (Final)
Web服务器软件:Nginx-1.6.3.tar.gz
数据库系统:MySQL 5.5.52
PHP版本:php 5.3.3
站点程序:wordpress-4.7.4-zh_CN.tar.gz
MySQL数据库服务器:113.195.210.*
Nginx服务器:113.195.210.*
描述:
http://117.40.239.8:8080/wordpress #电信IP
http://113.195.210.150:8080/wordpress/ #由电信IP换成联通IP
1.由电信换成联通ip后,该wp-config.php文件的MySQL主机需更改DB IP,否则连接数据库出错。
[root@Cacti wordpress]# vi wp-config.php
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');
/** MySQL数据库用户名 */
define('DB_USER', '***');
/** MySQL数据库密码 */
define('DB_PASSWORD', '***');
/** MySQL主机 */
define('DB_HOST', '113.195.210.*');
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');
2.更换IP后,还出现以下情况:
图1:网站不正常显示,错乱的布局
3.需要更改worpress的站点url和主页
mysql> use wordpress; #打开数据库后对该表wp_options 操作
mysql> select * from wp_options whereoption_value like '7.40.239.8%';
+-----------+-------------+------------------------------------+----------+
| option_id | option_name |option_value |autoload |
+-----------+-------------+------------------------------------+----------+
| 1 | siteurl |http://117.40.239.8:8080/wordpress | yes |
| 2 | home |http://117.40.239.8:8080/wordpress | yes |
+-----------+-------------+------------------------------------+----------+
2 rows in set (0.01 sec)
方法1:更改站点IP
mysql>update wp_options
set option_value=replace(option_value,'117.40.239.8','113.195.210.150') where option_value LIKE '7.40.239.8%';
方法2:更改站点IP
mysql>update wp_options set option_value=' http://113.195.210.150:8080/wordpress' where option_name ='siteurl' or option_name='home';
mysql> update wp_options set option_value=replace(option_value,'117.40.239.8','113.195.210.150') where option_value LIKE '7.40.239.8%';
Query OK, 2 rowsaffected (0.04 sec)
Rows matched:2 Changed: 2 Warnings: 0
mysql>select * from wp_options where option_value like '3.195.210.150%';
+-----------+-------------+---------------------------------------+----------+
| option_id |option_name | option_value | autoload |
+-----------+-------------+---------------------------------------+----------+
| 1 | siteurl | http://113.195.210.150:8080/wordpress |yes |
| 2 | home | http://113.195.210.150:8080/wordpress| yes |
+-----------+-------------+---------------------------------------+----------+
2 rows in set (0.01sec)
解决这个问题的整个关键还是要更改站点url和主页,否则不能正常显示网站内容和管理网站。
技术方法解释:如果作者做了域名绑定公网IP地址,客户端(用户)只要通过域名访问即可,不要管背后是什么IP地址,用户也感觉不到IP地址的变化。