在自己服务器上安装WordPress博客

本文主要参考LNMP网站和博客jwcyber:
http://www.lnmp.org/
http://jwcyber.com/build-site/#13

通过ssh登录服务器后,我们键入如下命令:

screen -S lnmp

如果没有screen的可以自行安装:

yum install screen 或 apt-get install screen

下面通过脚本一键安装LMNP:

wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz && cd lnmp1.4 && ./install.sh lnmp

首先会输入mysql密码,自行设置即可。

这里需要确认是否启用MySQL InnoDB,如果不确定是否启用可以输入 y ,输入 y 表示启用,输入 n 表示不启用。默认为y 启用,输入后回车进入下一步,选择MySQL版本。

输入MySQL或MariaDB版本的序号,回车进入下一步,选择PHP版本。

输入PHP版本的序号,回车进入下一步,选择是否安装内存优化。

提示”Press any key to install…or Press Ctrl c to cancel”后,按回车键确认开始安装。LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。

安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。

只要出现enjoy it就说明安装成功。

下面开始创建虚拟机:通过SSH连接到服务器,连接后输入命令

lnmp vhost add 。

这里要输入要添加网站的域名,我们已添加www.vpser.net域名为例,输入域名 www.vpser.net 回车。接着询问是否添加更多域名,直接再输入要绑定的域名,这里我们将 vpser.net 也绑上,多个域名空格隔开,如不需要绑其他域名就直接回车,不绑定的话看下面我的重定向设置即可。
然后会就是网站的路径,默认的是/home/wwwroot/yourdomain 。如果不打算更改的话,直接回车就好,想自定义路径的话直接输入自己想要的路径就好了。

然后就是是否允许Rewrite。这里建议选择y。lnmp自带了几种常用网站的伪静态规则,因为我们要安装的是wordpress,直接输入wordpress就可以了。

再下面一部是是否开启访问日志。搬瓦工小硬盘的套餐的话,不建议开启,毕竟硬盘资源有限。

再接下来就是创建数据库,这里如果要创建的话,会创建成一个用户名和数据库名相同的。

如果选择y的话,会要先验证MySQL的root密码。验证后会让你输入数据库名,回车后会提示你,已经创建了一个和数据库名相同的用户名。然后就是输入数据库的密码。

再回车以后就跳到最后一步,按任意键创建虚拟主机。

当然,这里的各项配置是可以通过修改配置文件进行更正的。所以没必要太纠结。通过vi修改或者下载到本地修改都可以。虚拟主机配置文件在:

/usr/local/nginx/conf/vhost/域名.conf

FileZilla连接服务器之后建议先进入/home/wwwroot/default 删除除phpadmin和.user.init之外的文件。

然后进入到网站的安装目录,即上面的www.你的域名.com 文件夹,把网站的源文件上传到根目录里就可以了。当然,先得先去中文官网把wordpress的安装文件下载下来。

解压后用Filezilla直接上传WP的网站文件,由于全是小文件,这将是一个非常漫长的过程。

如果觉得上传太慢,可以先将网站文件压缩成zip压缩包,上传到VPS后再解压。打包的时候直接多选文件打包成1.zip,方便解压。

压缩包上传完成后,通过SSH连接到服务器,进入网站的安装目录,命令为:

cd /home/wwwroot/www.jwcyber.com (换成你自己的安装目录即可,注意cd后面有空格)

进入后执行命令 unzip 1.zip 回车即可。

输入你的www域名,如果出现的是LNMP界面,则在VPS的管理界面里面重启一下服务器;如果是下面的WordPress的界面,证明前面的操作都没有问题,可以进行WordPress的配置了。

下面是一些小问题:

  • 提示需要输入FTP信息

后台安装插件或主题都提示需要输入FTP信息

出现这个问题,是因为文件目录权限问题。解决方法,SSH登录服务器,执行以下两条命令即可

chmod -R 755 /home/wwwroot
chown -R www /home/wwwroot

这种方式不行的话,可以在网站根目录的wp-config.php中加入以下代码:

define("FS_METHOD","direct");

define("FS_CHMOD_DIR",0777);

define("FS_CHMOD_FILE",0777);
  • 301重定向域名.com到www.域名.com

目前VPS推荐的架构LNMP,将Apache更换为更高效的Nginx。但唯一坏处在于许多位于.htaccess 的规则都无法使用。通用办法是找到对应网站的conf文件,比如www.域名.com.conf,通常在/usr/local/nginx/conf/vhost/目录下,可以找到用sftp软件编辑此文件把server_name www.域名.com;改为

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

重启服务器即可实现访问域名.com跳转到www.域名.com。

  • WordPress只显示一个主题

LNMP禁用了部分危险函数,而scandir函数也在此列,所以这样问题的解决方法只能是将scandir从禁用函数剔除就可以了。将下面的scandir,删除即可
disable_functions =passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
修改/usr/local/php/etc下的php.ini,删去scandir,然后用putty重启一下php进程/etc/init.d/php-fpm restart就可以了。

然后我安装版本都是第一个旧的,所以mysql有问题,root权限问题,所以顺便说说见我另一博客root权限。

解决root权限后,登录mysql:

mysql -uroot -p
登陆后
CREATE DATABASE wordpress;
CREATE USER user@localhost;
SET PASSWORD FOR user@localhost=PASSWORD("wordpresspassword");
GRANT ALL PRIVILEGES ON wordpress.* TO user@localhost IDENTIFIED BY 'wordpresspassword';
FLUSH PRIVILEGES;
exit

这样就搞定!如果你的域名已经解析到这个ip了的话直接输入网站应该就会出来WordPress的设置界面,开始你的博客之旅吧!

在这个过程中,我还用到了一些命令:

service nginx restart
啊想不起来了,想起来再补充○| ̄|_

版权声明:本文为liuestcjun原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。