外贸建站

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

料神Sam发布于 2016-11-16阅读 39737 次评论 45

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

一、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 管理密码),总是出错

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);

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

cd /home/wwwroot/

chmod 777 -R www.xyz.com/*

注: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

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

八、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');

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

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

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

十一、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 文件的路径。

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

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

sudo find / -name 'php.ini'

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

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

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 升级失败(存在不一致的文件权限)

详见 


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

请参考这篇文章:

十五、无法删除网站目录

当我们想删除某个网站时,可以用 lnmp vhost del 的命令。但是这个命令只是删除了 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 文件夹即可顺利删除。

 

本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。

分享到: 微信 新浪微博 QQ Qzone
料神Sam
识不足则多虑,威不足则多怒,信不足则多言。
SiteGround外贸建站主机优惠券

45条评论

发表我的评论

取消评论

邮箱白名单说明:最近料网自动提醒邮件经常会被一些邮件服务商拦截。为了您顺利并及时地收取留言被回复的提醒邮件,请在您邮箱中把料网 liaosam.com 加入白名单域名。

我不是机器人
设为私密评论
添加表情

Hi,您需要填写昵称和邮箱!

您的邮箱地址不会公开,仅仅用于收取回复。建议填写QQ邮箱,不宜填写工作邮箱。
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (没有就留空)
  • 问题验证:今年年份是?
呃,评论有点多哦.. 请稍等
  1. CristyChrome · Windows 10

    我用的 avada 主题,网站后台突然很多按钮都使用不了了,比如说我想修改图片,选好图片之后按保存的按钮啥反应也没有,连取消也没反应。大家有没有碰到这类问题,后来是怎么解决的?

    6年前 (2018-08-30)
    台湾
    回复
  2. enffieChrome · Windows 10

    料神老师,
    现打算将 BH 上的网站搬到 Linode 上,于是先看了一次关于 LINODE 的学习视频和浏览了一些料网上的相关文章,先初步做个了解。我发现好像没有关于网站邮件的说明,是不是将 BH 上的 ROOT 下的文件夹全部上传到 LINODE 上就可以了?因为 BH 是有邮件服务器可以收发邮件的,那么搬到 LINODE 上之后是不是跟 BH 也是有类似的客户端需要安装的,有什么需要注意的地方吗?

    7年前 (2018-01-22)
    日本
    回复
  3. prChrome · Windows 10

    Sam 老师你好,一开始是跟着颜 sir 的课程本地建站的,学了一些后,想提前买空间及域名,结果就换到了您这里的 VPS 建站,感觉更有挑战,谢谢您的各种教课。有个问题很困扰的就是,我一开始运行 xshell,连接到 VPS 之后,过会就会显示 foreign host 禁止连接,就开始断网,笔记本就开始处于神神叨叨不停断网的状态,pad 其他用网正常,重装过 xshell 一次,正常了一个上午,又开始了,也刷新过好多次 DNS,请问要怎么解决这个问题呀,真的是十分干扰下一步行动,盼回复……

    7年前 (2017-11-22)
    美国
    回复
    • LiaoSam 外贸综合症患者.搜狗浏览器 · Windows 7
      @pr 一段时间没有操作之后 Xshell 会自动断开连接会话。关于这个问题,可以参考这篇文章:
      VPS 建站:Xshell 和 Xftp 间隔一段时间不操作就自动断开连接?
      https://www.liaosam.com/xshell-xftp-keep-connecting-with-vps.html
      即:在顶部菜单【文件】 – 【属性】,选择【连接】。在右侧的设置界面中勾选 保持活动状态 – “连接会话期间发送保持活动状态消息(s)”,间隔建议设置为 45 秒。点击确定即可。
      --------------
      关于你 xshell 断开了就开始断网的现象,我从来没有碰到过,可能是你本地环境有问题。先卸载之前的本地环境模拟工具如 WampServer/Xampp 等,然后用腾讯电脑管家的工具箱-电脑诊所-上网异常-上不了网 来扫描修复一下。
      7年前 (2017-11-22)
      江苏
      回复
  4. tomChrome · Windows 7

    sam 老师你好,按照您的教程装完了 lnmp 环境包,增加了虚拟机(vhost),也下载好了 wordpress,域名解析我在 namesilo 上做的,设置的 ttl 3600,这个要多久生效啊,我过了 1 小时点我的网站域名,还是显示 404 Not Found

    nginx,没有 wordpress 的安装画面 怎么办呢?等吗? 我自己电脑上也刷新了本地的 dns

    7年前 (2017-10-19)
    河南
    回复
    • MarkYin1118Chrome · Windows 10

      @tom 我现在也是跟你一样的情况,不知道你是怎么解决的。

      7年前 (2018-03-24)
      广东
      回复
  5. paulChrome · Windows 7

    /www/server/nginx/conf/vhost
    /usr/local/nginx/conf/vhost/

    这 2 个路径下的文件怎么一样,是我眼花了吗?

    7年前 (2017-10-16)
    广东
    回复