LNMP下安装使用WordPress的常见问题记录

外贸建站
浏览次数 817

一、VPS 上创建网站和网站配置文件(自动配置伪静态规则)

ssh命令:lnmp vhost add

先输入域名。如果你喜欢用 www.xyz.com 作为主要使用的域名,那么就填写 www.xyz.com。否则填写裸域 xyz.com。我一般用 www 域名。

是否添加更多的域名,输入 y,回车。在上一步中我们添加了带 www 的域名,这里再添加一个不带 www 的域名。为了后面方便做 301跳转用的。

提示选择 rewrite 规则的时候输入 wordpress,然后回车。(注意:切勿直接回车,会默认选择 other 伪静态规则)

网站配置文件有了之后就可以正常访问网站了,wordpress 的 rewrite 规则会自动设置好。只有设置好伪静态才能设置WP后台的固定链接结构。

二、密码不显示状态下输入MySQL 的 Root Password (MySql 管理密码),总是出错

1)如果你失误输入错误,但由于看不到你已经输入到什么位置,此时可以重新开一个连接窗口,把当前错误的关闭,然后重新执行 lnmp vhost add,重新到这一步时不用键盘输入。在记事本上写好正确的密码,然后鼠标右键粘贴,回车。也可以的。

2)确定密码输入的是正确的,但总是提示错误,有可能是在安装 lnmp 环境的时候在输入mysql 密码的时候直接回车导致的。如果当时回车,则默认 mysql 的管理密码为 root。此时你可以和 1)一样重新开一个连接窗口重来执行。

3)这里的密码如果确实不记得,或者之前操作失误导致密码为默认的密码 root,则不太安全,你可以粘贴执行下面的命令来重置密码。

cd /root/lnmp1.3/tools/ && ./reset_mysql_root_password.sh

根据提示直接输入新密码后回车即可。

三、安装 WordPress

先进入网站根目录

cd /home/wwwroot/www.xyz.com

下载 WordPress

wget https://cn.wordpress.org/wordpress-4.7-zh_CN.zip

解压 WordPress

unzip wordpress-4.7-zh_CN.zip

移动 WordPress文件到网站根目录下

解压完毕后,可以用 Xftp 进入文件夹把 wordpress 文件夹下的所有文件向上移动到 www.xyz.com 文件夹下。然后把其他多余文件下删除。如果你对命令行熟悉,也可以用 MV 命令来做。

mv wordpress/* .

确保网站域名已经正确解析

起码做了两个 A 记录。www 和 @ 的 A 记录。
两条A记录“记录值”都为你的 VPS IP 地址,“记录名”分别为 www 和 @。

四、安装 WordPress 主题及插件需要输入 FTP 账号密码的解决办法:

一般都是因为没有给目录写入的权限。先把 WordPress 根目录下的 wp-config.php 文件下载到本地,然后用文本编辑器打开(注意别用记事本之类的文本程序)

注意:别用电脑系统自带的记事本,那个只是处理文字用的,会把代码编码弄乱。你可以百度搜索:PC6 notepad++,下载安装。

在里面添加:

define('FS_METHOD','direct');
define('FS_CHMOD_DIR', 0777);
define('FS_CHMOD_FILE', 0777);

覆盖,上传。还是不行?命令行来:

cd /home/wwwroot/

进入 www.xyz.com 下,执行下面命令行。

chmod 777 -R www.xyz.com/*

OK,搞定!

五、WordPress 后台只显示一个自带主题,不显示(也无法切换)其它主题

原因:lnmp 一键安装包里的 php.ini 禁止了 scandir 函数。
解决办法:修改 php.ini。

打开:/usr/local/php/etc 下的 php.ini ,搜索 “disable_functions”,在“disable_functions = ….”中找到 scandir,删除,保存。覆盖 php.ini 文件。
然后重启 php 服务:service php-fpm restart (或:/etc/init.d/php-fpm restart )

六、lnmp 设置 301 重定向跳转至 WWW 域名

第一步)VPS中的 /usr/local/nginx/conf/vhost/ 下,看到域名命名的 .conf 文件,可以用 VI 命令修改,也可以用 XFTP 下载到本地修改再传上去覆盖。

注意:如果你用的是 BT 面板,那么路径为:/www/server/nginx/conf/vhost

第五行开始,补全带 www 和不带 www 的两种域名。然后做个判断,如果不是带 www 的,正则 rewrite 到带 www 的进行永久跳转。

server_name www.yourdomain.com yourdomain.com;
 if ($host != 'www.yourdomain.com' ) {
 rewrite ^/(.*)$ http://www.yourdomain.com/$1
 permanent;
 }

第二步)重启 LNMP 或者 NGINX 使得跳转生效:

重启 LNMP 采用命令如下;

/root/lnmp restart

重启 NGINX 采用命令如下;

/etc/init.d/nginx restart

如果提示 “No such file or directory”,可以先执行 cd /root 或者 cd /etc,看看是否执行成功。如成功,继续执行 /lnmp restart 或 /init.d/nginx restart 。

七、安装 Wordperss 时数据库配置错误

记得要先到 phpMyAdmin 创建新的数据库,然后再填写 WordPress 安装的数据库信息表单。(如果你在第一步增加虚拟网站配置文件 lnmp vhost add 的那一步已经创建了数据库,就不用创建新数据库了)

lnmp 下 phpmyadmin 的默认访问位置为:https://vps IP/phpmyadmin/

创建新数据库的时候,排序规则选择 utf8 general ci

八、phpMyAdmin无法正常登录,提示:您的Session已过期,请再次登录。

修改 /usr/local/php/etc/php.ini 里面的 session.auto_start 的值为1

之后需要重启 php 生效。在 xshell 输入:

/etc/init.d/php-fpm restart

九、循环重定向或死循环,网站打不开

循环重定向的原因是:301 转到 www 网址,但你的 wordpress 里的 home url 和 site url 为非 www 网址,于是就会死循环。

主要还是因为,安装 wordpress 的时候,home url 和 site url 保存的是裸域名,而 nginx 规则文件里写的 301规则是要把 裸域名跳转到 www域名,但 www域名又不是网站首页,于是就循环出错。

修复办法 1)通过修改数据库 WordPress Options 表

通过数据库去修改 wp_options 表里面 home url 和 site url,把网址改成带 www 的,然后即可。

访问 http://你的 linode 的 IP 地址,来到一键安装包安装成功的页面。(或者直接访问 http://yourserverip/phpmyadmin

点击 phpMyAdmin,转到登录页面。用户名root,密码填写 mysql database root password, 应该是跟 root password 一致的密码。登录后,在左边的数据库列表点击你的数据库,会展开所有的数据表。

选择 options 表,找到 site_urlhome_url,把裸域名改成带 www 的网址就 OK 了。

修复办法 2)通过修改 WordPress 配置文件 wp-config.php

通过 WordPress 根目录下的 wp-config.php 配置文件来强制重新设置 site url 和 home url。在 WordPress 根目录下找到 wp-config.php 文件,下载到本地,用文本编辑器打开,添加下面这两行代码,然后覆盖源文件,也可以生效。

define('WP_HOME' , 'http://www.xyz.com');
define('WP_SITEURL' , 'http://www.xyz.com');

这种方式不需要进入数据库表里去修改。

十、安装完 LNMP 时,提示:ERROR! MySQL is running but PID file could not be found。

解决办法:

首先查看一下进程。执行命令:

ps aux |grep mysq*

此命令为查看 mysql 相关的进程。如返回如下结果:

root 1461 0.0 0.2 106268 2972 ? S Aug06 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/var --pid-file=/usr/local/mysql/var/li257-84.members.linode.com.pid
mysql 2003 0.0 4.4 748236 45440 ? Sl Aug06 0:11 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/var/li257-84.members.linode.com.err --open-files-limit=65535 --pid-file=/usr/local/mysql/var/li257-84.members.linode.com.pid --socket=/tmp/mysql.sock --port=3306
root 8683 0.0 0.2 103380 2152 pts/0 S+ 01:31 0:00 grep mysq*

root 和 mysql 后面跟的就是 pid 进程号。此时要用 kill -9 命令强制关闭这些卡死的进程。格式为:kill -9 pid1 pid2 ...

kill -9 1461 2003 8683

重启 mysql:

service mysql start

如果 mysql 可以正常启动,那么问题即解决了。

十一、Avada 主题下提示系统环境问题(Red System Status)

1)PHP Max Input Vars 问题

需要修改 php.ini。通常军哥的 lnmp包 php.ini 的位置位于:/usr/local/php/etc/php.ini 。

使用 vi 命令或者下载 php.ini 文件,用 notepad++ 打开修改:

max_input_vars = 300 改成 3000

保存,上传覆盖。之后需要重启 php 生效。在 xshell 输入:

/etc/init.d/php-fpm restart

注:如果是虚拟主机建站(如 bluehost),则可能还会有 PHP Time Limit ( max_execution_time ) 问题。
把 php.ini 中的 max_execution_time=30 改成 300,保存上传覆盖,然后重启 php 服务。

如果是其他环境包,不清楚 php.ini 在哪,可以本地新建一个空白的 php 文件,代码如下:

phpinfo();
?>

然后浏览器访问该 php文件地址,即可查看到 php.ini 文件的路径。

或者也可以用 linux 的 bash命令脚本:

sudo find / -name 'php.ini'

这个语句则会在你整个系统盘中查找 php.ini 的位置,如果系统很大的话这个可能速度就比较慢,所有如果你确定 php.ini 是在 /etc 的话,则可以把bash脚本中的 ‘/’ 换成 ‘/etc’ 。

2)PHP Memory Limit

2.1))在上面所述的 php.ini 中,搜索:memory_limit ,把值设置为你的 VPS 内存的 1/4。注意不要超过 1/4,你还要留内存给系统、数据库以及其他程序。比如你如果是 Linode 10刀/月,则内存是 2G,这里就设置为 512M。

修改后保存覆盖(假如你用 vi 命令则忽略覆盖)。然后重启 php,粘贴一下命令执行重启 php-fpm:

service php-fpm restart

2.2)打开 wordpress 根目录下的 wp-config.php 文件,在设定数据库名称的那行下面,加入一行:

/** 扩展WP的内存使用限制 */
define('WP_MEMORY_LIMIT', '256M');

一样是遵循最大 1/4 原则。如果你是 2G 内存就写 512M。

保存,上传覆盖。

十二、删除某个文件下以及其下所有文件

命令行语法:

rm -rf foldername

rm 为删除,-rf 为其本身及其所属下面所有文件。f 为直接删除不提示。

十三、Error establishing a database connection 网站打不开显示数据库连接错误

输入 service mysql status 提示“mysql is not running but lock exists”

mysql 重启时提醒错误-server PID file could not be found。此时执行:

ps aux |grep mysq*

下面的步骤参考第十点把有问题的 mysql 进程强制关闭,然后重启 mysql 即可。

十四、WordPress 升级失败(存在不一致的文件权限)

详见

Linode VPS 上 WordPress 升级失败的原因

最常见的原因是没有给你的网站文件夹 www.xyz.com 根目录以及 wp-admin 和 wp-includes 这两个文件夹写入文件的权限。我们在安装之前需要安装 ..

暂时没有这些问题了,想开始正式建站,怎么操作?
上一篇
是什么让您的WordPress网站如此慢?
下一篇
怎样更好地进行外贸供应商关系维护?
我们将在15分钟内联系你

提供行业网站方案以及海外推广计划