51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

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

LNMP 下安装使用 WordPress 的常见问题记录-料网 - 外贸老鸟之路

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

ssh 命令:lnmp vhost add

LNMP 下安装使用 WordPress 的常见问题记录-料网 - 外贸老鸟之路

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

LNMP 下安装使用 WordPress 的常见问题记录-料网 - 外贸老鸟之路

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

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

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

二、密码不显示状态下输入 MySQL 的 Root Password (MySql 管理密码),总是出错 {#_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

{#crayon-5896a47397ddb082504843-1}

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

三、安装 WordPress {#_WordPress}

先进入网站根目录 {#i}

cd /home/wwwroot/www.xyz.com

下载 WordPress {#_WordPress-2}

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

解压 WordPress {#_WordPress-3}

unzip wordpress-4.7-zh_CN.zip

移动 WordPress 文件到网站根目录下 {#_WordPress-4}

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

mv wordpress/* .

确保网站域名已经正确解析 {#i-2}

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

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

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

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

在里面添加:

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

另外,在 Xshell 连接 Linode 下,逐个执行这两个命令:

cd /home/wwwroot/
chmod 777 -R www.xyz.com/*

注:www.xyz.com 请自行换成你的网站目录。

OK,搞定!

五、WordPress 后台只显示一个自带主题,不显示(也无法切换)其它主题 {#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 域名 {#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 时数据库配置错误 {#_Wordperss}

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

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

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

LNMP 下安装使用 WordPress 的常见问题记录-料网 - 外贸老鸟之路

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

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

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

/etc/init.d/php-fpm restart

九、循环重定向或死循环,网站打不开 {#i-3}

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

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

修复办法 1)通过修改数据库 WordPress Options 表 {#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 {#2_WordPress_wp-configphp}

通过 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');

这种方式不需要进入数据库表里去修改。注意:如果你已经安装 SSL 证书,开通 https,这里也要两个写成 https。

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

解决办法: {#i-4}

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

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 可以正常启动,那么问题即解决了。

如果还是不行,去 /usr/local/mysql/var 下看看,如果存在 mysql-bin.index,就把它删除掉试试看。

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

1)PHP Max Input Vars 问题 {#1PHP_Max_InputVars}

需要修改 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 文件的路径。

LNMP 下安装使用 WordPress 的常见问题记录-料网 - 外贸老鸟之路

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

sudo find / -name 'php.ini'

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

LNMP 下安装使用 WordPress 的常见问题记录-料网 - 外贸老鸟之路

2)PHP Memory Limit {#2PHP_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。

保存,上传覆盖。

十二、删除某个文件下以及其下所有文件 {#i-5}

命令行语法:

rm -rf foldername

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

十三、Error establishing a database connection 网站打不开显示数据库连接错误 {#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 升级失败(存在不一致的文件权限) {#WordPress-2}

详见
Linode VPS 上 WordPress 升级失败的原因 最常见的原因是没有给你的网站文件夹 www.xyz.com 根目录以及 wp-admin 和 wp-includes 这两个文件夹写入文件的权限。我们在安装之前需要安装主题和插件的时 ..



暂时没有这些问题了,想开始正式建站,怎么操作?

请参考这篇文章:
WordPress外贸建站,WordPress操作流程全攻略(详细图文教程) 外贸建站很难?当然不。零基础三天也能学会WordPress建立外贸B2B英文网站


十五、无法删除网站目录 {#i-6}

当我们想删除某个网站时,可以用 lnmp vhostdel 的命令。但是这个命令只是删除了 nginx 下的 vhost 配置文件等等,出于安全原因,并未删除网站文件夹和里面的文件。

于是当手动从 Xftp 里面去删除时,发现最终无法删除。用 Xshell 的 rm -f 命令去删除时,由于有个 .user.ini 文件始终无法删除掉,网站文件夹怎么都无法删除。

正确的方式是:

cd /home/wwwroot
chattr -i www.xyz.com/.user.ini
rm -f www.xyz.com/*

这样就 OK 了。此时再从 Xftp 里删除空的 www.xyz.com 文件夹即可顺利删除。

赞(0)
未经允许不得转载:工具盒子 » LNMP下安装使用WordPress的常见问题记录