一、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);
另外,在 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
八、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_url 和 home_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 文件的路径。
或者也可以用 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 升级失败(存在不一致的文件权限)
详见
暂时没有这些问题了,想开始正式建站,怎么操作?
请参考这篇文章:
十五、无法删除网站目录
当我们想删除某个网站时,可以用 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 文件夹即可顺利删除。
本站所有文章除注明“转载”的文章之外,均为原创。未经本站允许,请勿随意转载或用作任何商业用途,否则依法追究侵权者法律责任的权利。
我用的 avada 主题,网站后台突然很多按钮都使用不了了,比如说我想修改图片,选好图片之后按保存的按钮啥反应也没有,连取消也没反应。大家有没有碰到这类问题,后来是怎么解决的?
料神老师,
现打算将 BH 上的网站搬到 Linode 上,于是先看了一次关于 LINODE 的学习视频和浏览了一些料网上的相关文章,先初步做个了解。我发现好像没有关于网站邮件的说明,是不是将 BH 上的 ROOT 下的文件夹全部上传到 LINODE 上就可以了?因为 BH 是有邮件服务器可以收发邮件的,那么搬到 LINODE 上之后是不是跟 BH 也是有类似的客户端需要安装的,有什么需要注意的地方吗?
Sam 老师你好,一开始是跟着颜 sir 的课程本地建站的,学了一些后,想提前买空间及域名,结果就换到了您这里的 VPS 建站,感觉更有挑战,谢谢您的各种教课。有个问题很困扰的就是,我一开始运行 xshell,连接到 VPS 之后,过会就会显示 foreign host 禁止连接,就开始断网,笔记本就开始处于神神叨叨不停断网的状态,pad 其他用网正常,重装过 xshell 一次,正常了一个上午,又开始了,也刷新过好多次 DNS,请问要怎么解决这个问题呀,真的是十分干扰下一步行动,盼回复……
VPS 建站:Xshell 和 Xftp 间隔一段时间不操作就自动断开连接?
https://www.liaosam.com/xshell-xftp-keep-connecting-with-vps.html
即:在顶部菜单【文件】 – 【属性】,选择【连接】。在右侧的设置界面中勾选 保持活动状态 – “连接会话期间发送保持活动状态消息(s)”,间隔建议设置为 45 秒。点击确定即可。
--------------
关于你 xshell 断开了就开始断网的现象,我从来没有碰到过,可能是你本地环境有问题。先卸载之前的本地环境模拟工具如 WampServer/Xampp 等,然后用腾讯电脑管家的工具箱-电脑诊所-上网异常-上不了网 来扫描修复一下。
sam 老师你好,按照您的教程装完了 lnmp 环境包,增加了虚拟机(vhost),也下载好了 wordpress,域名解析我在 namesilo 上做的,设置的 ttl 3600,这个要多久生效啊,我过了 1 小时点我的网站域名,还是显示 404 Not Found
nginx,没有 wordpress 的安装画面 怎么办呢?等吗? 我自己电脑上也刷新了本地的 dns
@tom 我现在也是跟你一样的情况,不知道你是怎么解决的。
/www/server/nginx/conf/vhost
/usr/local/nginx/conf/vhost/
这 2 个路径下的文件怎么一样,是我眼花了吗?