本文主要介绍了在腾讯云(centos 6.5)下搭建自己的wordpress站点。我们先介绍一下在linux下搭建网站的两者主流方式。
LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写:Linux+Apache+Mysql/MariaDB+Perl/PHP/Python
而LNMP则是以Nginx替代Apache
因为这两种方式的流行,这些软件往往被打包到一起提供为一键安装包方便一键配置网站环境。
本文主要介绍使用LNMP来进行wordpress博客的搭建。
配置LNMP环境
尽管已有一键配置LNMP的安装包,但是作为新手还是不建议选择一键安装,从分步安装中渐渐熟悉Linux的命令,也不失为一种练习方式。
首先我们先将主机上的软件用yum命令来更新到最新
sudo yum update
1.安装Nginx
在安装软件时可以采用yum命令来安装需要的软件包。
sudo yum install nginx
按照提示,输入y后开始安装,安装完毕后,Nginx的配置文件在/etc/nginx目录下。使用以下命令启动Nginx:
sudo service nginx start
您可以通过浏览器访问 http://你的IP地址 来确定Nginx是否已经启动。
最后我们通过chkconfig命令将Nginx设置为开机启动:
sudo chkconfig nginx on
2.安装MySQL
同样适用yum命令来安装MySQL
sudo yum install mysql-server
安装完成之后,执行以下命令重启MySQL服务:
sudo service mysqld restart
重启过程中会提示如何设置MySQL的root密码,我们按照提示进行操作:
sudo /usr/bin/mysql_secure_installation
这个脚本会经过一些列的交互问答来进行MySQL的安全设置。
首先提示输入当前的root密码:
Enter current password for root (enter for none):
初始root密码为空,我们直接敲回车进行下一步。
Set root password? [Y/n]
设置root密码,默认选项为Yes,我们直接回车,提示输入密码,在这里设置您的MySQL的root账户密码。
Remove anonymous users? [Y/n]
是否移除匿名用户,默认选项为Yes,建议按默认设置,回车继续。
Disallow root login remotely? [Y/n]
是否禁止root用户远程登录?如果您只在本机内访问MySQL,建议按默认设置,回车继续。 如果您还有其他云主机需要使用root账号访问该数据库,则需要选择n。
Remove test database and access to it? [Y/n]
是否删除测试用的数据库和权限? 建议按照默认设置,回车继续。
Reload privilege tables now? [Y/n]
是否重新加载权限表?因为我们上面更新了root的密码,这里需要重新加载,回车。
完成后你会看到Success!的提示,MySQL的安全设置已经完成。我们可以使用以下命令登录MySQL:
mysql -uroot -p
按提示输入root密码,就会进入MySQL的交互界面,说明已经安装成功。
退出mysql的命令
quit
MySQL安装完成后默认监听外网的3306端口,有一定的安全隐患,我们通过编辑MySQL的配置文件,将MySQL服务修改为监听内网的3306端口,这样就不会被外界探测到,编辑/etc/my.cnf文件,在[mysqld]中增加一行:
bind-address=x.x.x.x
需要将上面的x.x.x.x替换成您的云主机的内网地址。内网地址可以从控制台云主机列表中找到。然后重启MySQL服务使配置生效:
sudo service mysqld restart
最后我们使用chkconfig命令将MySQL设置为开机启动。
sudo chkconfig mysqld on
3.安装PHP
我们可以直接使用yum安装PHP:
sudo yum install php-fpm php-mysql php
安装完成后我们将php-fpm启动:
sudo service php-fpm start
将php-fpm设置为开机启动:
sudo chkconfig php-fpm on
php安装完成之后,需要设置一下php session的目录:
sudo mkdir /var/lib/php/session/
sudo chown -R apache:apache /var/lib/php/session/
这时php-fpm已经安装完毕,但是现在需要配置一下Nginx,在/etc/nginx/conf.d目录中新建一个名为php.conf的文件,其内容为:
server {
listen 80;
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php$ {
root /usr/share/php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
然后执行以下命令使我们的配置生效:
sudo service nginx restart
以上我们配置了Nginx的80端口用来测试,如果您在腾讯云控制台设置了安全组,需要检查该防火墙是否允许80端口,如果不允许的话,您可以在防火墙设置中新增防火墙,并关联到该主机。
我们在/usr/share/php目录下新建一个名为phpinfo.php的文件用来展示phpinfo信息,文件内容为:
<?php echo phpinfo(); ?>
我们从浏览器打开 http://外网IP地址/phpinfo.php, 您就能看到phpinfo信息了,说明我们php环境已经部署成功:
验证PHP安装成功后,需要将此phpinfo.php文件删除,线上环境尽量不要暴漏使用的软件版本及路径信息,以防被入侵者利用。
sudo rm /usr/share/php/phpinfo.php
安装wordpress,并进行配置
将LNMP环境安装配置好之后,就可以安装WordPress了。
4.安装wordpress
选择一个目录来存放下载的wordpress压缩包,在这里我为了方便放置在了root的根目录。
在你要存放的目录下使用wget命令来获取网络资源
wget https://cn.wordpress.org/wordpress-4.5.3-zh_CN.tar.gz
因为下载下来的是软件包,我们需要将其解压至目录
tar zxvf wordpress-4.5.3-zh_CN.tar.gz
上面的方法是将压缩包中的文件解压到当前目录
要想将文件解压到指定目录(后面接你想解压到的目录,这里以usr/share为例)
tar zxvf wordpress-4.5.3-zh_CN.tar.gz -C /usr/share
5.配置数据库
写博客当然得先建好数据库,下面我们来配置一下MySQL数据库。
进入MySQL:
mysql -uroot -p
输入root用户的密码进入数据库。接下来就需要创建WordPress数据库了:
CREATE DATABASE wordpress;
接下来为wordpress创建一个新用户:
CREATE USER wpuser@localhost;
为此用户设置密码,比如把密码设置成wordpresspassword:
SET PASSWORD FOR wpuser@localhost=PASSWORD("wordpresspassword");
还要为此用户设置访问wordpress数据库的权限:
GRANT ALL PRIVILEGES ON wordpress.* TO wpuser@localhost IDENTIFIED BY 'wordpresspassword';
最后将权限生效:
FLUSH PRIVILEGES;
MySQL部分就设置完了。下面我们还要打开WordPress的配置文件/etc/wordpress/wp-config.php,
如果没有这个文件的话需要用如下命令创建一个wp-config.php
cp wp-config-sample.php wp-config.php
将刚才对数据库的设置写到这里。找到文件中MySQL的部分,对其进行如下设置:
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wpuser');
/** MySQL database password */
define('DB_PASSWORD', 'wordpresspassword');
/** MySQL hostname */
define('DB_HOST', 'localhost');
6.配置Nginx部分
打开/etc/nginx/nginx.conf
按照下面的方式来修改nginx.conf的内容
server {
listen 80;
server_name localhost;
location / {
root /usr/share/wordpress;
index index.html index.php;
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
root /usr/share/wordpress;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
其中:listen参数代表指定访问端口。
root后面是你自己的网站目录,可以自行设置。
然后执行以下命令将Nginx重启一下:
sudo service nginx restart
配置防火墙
如果您服务器上安装有防火墙应用,例如firewalld,或者在腾讯云中设置了出入规则,需要进行设置防火墙,将TCP 80端口开放。
完成配置WordPress的工作
此时我们在浏览器中打开相应的URl就可以开始执行WordPress的安装了,端口号为之前配置文件中设置的:
http://你的IP地址/wp-admin/install.php
在出现的网页中将几项基础配置填完:
再用刚才填过的账号登录进去,就可以了随意折腾你的博客了!
GOOD LUCK!
参考文献:
[1]美团云(bill),《在CentOS 6上安装WordPress》,
https://mos.meituan.com/library/16/how-to-install-wordpress-on-centos6/
[2]美团云(Chris),《在CentOS 6上搭建LNMP环境》,
https://mos.meituan.com/library/19/how-to-install-lnmp-on-centos6/
[3]张宁网(Zhangning),