CentOS 7.4上搭建LNMP环境并利用WordPress搭建个人博客

在腾讯云买了个服务器,想搭建一个个人博客,记录一些平时遇到的问题和解决办法防止以后忘了(主要是为了装逼,因为没钱给服务器续费),所以在腾讯云找到了搭建WordPress个人站点的教程,但是按那个教程会出错(可能软件或者系统版本不一样),然后又找了搭建LNMP环境的教程,结果做到一半也出问题了,后来就把两份结合起来看,遇到问题又搜了一下最后终于算是搞好了。下面的是我把原教程结合起来改好放在这的,应该可以了,如果发现错误我再修改。

附上原教程链接:

CentOS 下 LNMP 环境配置

搭建WordPress个人站点

再附上一个我因一个极其愚蠢的错误而找到这篇文章最终解决的链接:

Linux MariaDB 遗忘密码后重置密码

LNMP 环境代表 Linux 系统下 Nginx + MySQL + PHP 网站服务器架构。本文档介绍 CentOS 下的 LNMP 环境搭建,并利用WordPress搭建个人博客。

步骤一:搭建LNMP环境

一、安装配置 Nginx

  1. 自动安装 Nginx。输入命令:
    yum install nginx
    service nginx start
    chkconfig --levels 235 nginx on
    
  2. 启动 Nginx 服务。输入命令:service nginx restart
  3. 命令行测试 Nginx 服务是否正常运行。输入命令:wget http://127.0.0.1 。 若服务正常,显示结果如下。
    --2013-02-20 17:07:26-- http://127.0.0.1/
    Connecting to 127.0.0.1:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 151 [text/html]
    Saving to: `index.html'
    100%[===================================>] 151 --.-K/s in 0s 
    2013-02-20 17:07:26 (37.9 MB/s) - `index.html' saved [151/151]
    
  4. 浏览器中测试 Nginx 服务是否正常运行。访问 CentOS 云服务器公网 IP。 若服务正常,显示结果如下。 CentOS 7.4上搭建LNMP环境并利用WordPress搭建个人博客_第1张图片
 

二、安装配置 MySQL

这里说明一下, 以前版本的CentOS都是使用MySQL作为数据库的,而从CentOS 7开始启用了MariaDB,所以这里的MariaDB就相当于老版本CentOS的MySQL,所以下面用不同版本的CentOS时安装的包有差别。

MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 过去一年中,大型互联网用户以及Linux发行商纷纷抛弃MySQL,转投MariaDB阵营,所以CentOS7.0以后就把MySQL用MariaDB代替了。

MariaDB名称来自Michael Widenius的女儿Maria的名字。MariaDB是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。MariaDB虽然被视为MySQL数据库的替代品,但它在扩展功能、存储引擎以及一些新的功能改进方面都强过MySQL。而且从MySQL迁移到MariaDB也是非常简单的。

  1. 安装 MySQL(CentOS7.0以后是MariaDB)。 输入以下命令: 适用于 CentOS 7.0 或以后版本(我用的是CentOS 7.4):
    yum install mariadb mariadb-server
    
    适用于 CentOS 6.8 或以前版本:
    yum install mysql mysql-server mysql-devel
    
  2. 启动 MySQL 服务(CentOS7.0以后是MariaDB)。 输入命令(如果是CentOS7.0或以后版本就把mysqld换成mariadb):
    service mysqld start
    
  3. 登录 MySQL ,删除空用户。输入命令(MariaDB命令一样的哦,#代表在Linux终端输入的内容,别把#也敲上去了):
    #mysql
    mysql>select user,host,password from mysql.user;
    mysql>drop user ''@localhost;
    
  4. 修改 root 密码。输入命令:
    #mysql
    mysql>update mysql.user set password = PASSWORD('此处输入您新设密码') where user='root';
    mysql>flush privileges;
    
上面‘ 此处输入您新设密码’这里单引号内是输入你要给MySQL的 'root'这个用户设置的密码, 不是照着上面把汉字敲上去,不要问我为什么要特别强调。。。。。。废了半天劲才把这个密码重置成功的。。。。。。

 

三、安装配置 PHP

  1. 安装 PHP 。输入命令进行安装:
    yum install php lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap 
    php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap
    
    上面有两行都要安装,命令有可能复制粘贴的时候会因为第一行的换行符而导致直接运行了,这样的话第二行的包是没有安装的,安装完的时候可以看一下是不是只安装了第一行的那几个包,如果第二行的包没装的话要再装一下。
  2. 安装所需组件使 PHP 支持 MySQL、FastCGI 模式。
    yum install  php-tidy php-common php-devel php-fpm php-mysql
    

四、Nginx 与 PHP-FPM 集成

  1. 启动 PHP-FPM。输入命令启动 PHP-FPM 服务:service php-fpm start
  2. 输入命令查看 PHP-FPM 默认配置: cat /etc/php-fpm.d/www.conf |grep -i 'listen =' 返回结果为:listen = 127.0.0.1:9000,表明 PHP-FPM 默认配置的监听端口为 9000,只需修改配置,将 PHP 解析的请求转发到 127.0.0.0:9000 处理即可。
  3. 修改 Nginx 配置。 输入命令查找 Nginx 配置文件:nginx -t 使用vi命令修改该配置文件: 在配置文件中找到http中的以下片段,修改红色部分: 实际上因为版本不一样,这个文件可能会有细微的差别,我的版本比下面这个新,所以有些差别,红色部分一样就行。注意第一个location 里面index的后面一定要有index.php,原LNMP教程是没写的,没写的话WordPress就会出现403错误,我找了半天才发现的。有时候改的不对的话后面一个步骤里面重启nginx服务的时候会出错,我之前就是因为把index.php放到index前面了,所以nginx服务起不来。
server {
  listen       80;
  root   /usr/share/nginx/html;
  server_name  localhost;
  #charset koi8-r;
  #access_log  /var/log/nginx/log/host.access.log  main;
  location / {
      index index.php index.html index.htm;
  }
  #error_page  404              /404.html;
  # redirect server error pages to the static page /50x.html
  #
  error_page   500 502 503 504  /50x.html;
  location = /50x.html {
      root   /usr/share/nginx/html;
  }
  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  #
  location ~ \.php$ {
      fastcgi_pass   127.0.0.1:9000;
      fastcgi_index   index.php;
      fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
      include        fastcgi_params;
  }
}
4. 修改完成后,按“ Esc ”键,输入“ :wq ”,保存文件并返回。
  1. 查看配置是否正确。输入命令:cat /etc/nginx/nginx.conf

  2. 配置完成后,重启服务。输入命令:service nginx restart

五、环境配置验证

用以下命令在 web 目录下创建 index.php:
vim /usr/share/nginx/html/index.php
写入如下内容:

echo "Test Page";
echo "hello world";
?>
在浏览器中,访问 CentOS 云服务器公网 IP ,查看环境配置是否成功。如果页面可以显示“hello world”,说明配置成功。

 

步骤二:安装和配置 WordPress

3.1 下载 WordPress

腾讯云提供了 Yum 下载源,但内置 WordPress 安装包为英文版,考虑到用语习惯,您也可以从 WordPress 官方网站 下载 WordPress 中文版本并安装。本教程正是采用的 WordPress 中文版本。我用的是4.9.4版本的中文版,可以到官网找最新版的下载链接。
  1. 先删除网站根目录下的index.html文件。
    rm /usr/share/nginx/html/index.html
    
    窗口提示是否删除,输入 “y” 回车。
  2. 依次下载 WordPress 并解压到当前目录(可以到官网找最新版的下载链接)。
    wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz
    
    tar -zxvf wordpress-4.7.4-zh_CN.tar.gz
    
    原教程tar命令的参数“zxvf”前面少了个“-”,我已经加上了。

3.2 配置数据库

在写博客之前,您需要先建好数据库,以存储各类数据。请根据以下步骤进行 MySQL 数据库配置。
  1. 登录 MySQL 服务器。 使用 root 用户登录到 MySQL 服务器。
    mysql -uroot -p
    
    在系统提示时,输入密码(前面安装MySQL的时候设置的 MySQL root 用户的密码,就是‘此处输入您新设密码’那里你输入的密码)登录。
  2. 为 WordPress 创建数据库并设置用户名和密码(本教程设置如下,您可自行定义)。 为 WordPress 创建 MySQL 数据库 “wordpress”。
    CREATE DATABASE wordpress;
    
    为已创建好的 MySQL 数据库创建一个新用户 “user@localhost”。
    CREATE USER user@localhost;
    
    并为此用户设置密码“wordpresspassword”,这个密码也是可以你自己设置。
    SET PASSWORD FOR user@localhost=PASSWORD("wordpresspassword");
    
  3. 为创建的用户开通数据库 “wordpress” 的完全访问权限,“BY”后面单引号里面输入的就是上一步设置的密码。
    GRANT ALL PRIVILEGES ON wordpress.* TO user@localhost IDENTIFIED BY 'wordpresspassword';
    
  4. 使用以下命令使所有配置生效。
    FLUSH PRIVILEGES;
    
  5. 配置完成,退出 MySQL。
    exit
    

3.3 写入数据库信息

完成数据库配置后,还需要将数据库信息写入 WordPress 的配置文件。WordPress 安装文件夹包含名为 wp-config-sample.php 的示例配置文件。本步骤将复制此文件并进行编辑以适应具体配置。
  1. 创建新配置文件 将wp-config-sample.php文件复制到名为wp-config.php的文件,使用以下命令创建新的配置文件,并将原先的示例配置文件保留作为备份。
    cd wordpress/
    cp wp-config-sample.php wp-config.php
    
  2. 打开并编辑新创建的配置文件。
    vim wp-config.php
    
    找到文件中 MySQL 的部分,按字母“I”键或 “Insert” 键切换至编辑模式,将步骤 3.2 中已配置好的数据库相关信息写入:
// ** 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’, ‘user’);

/** MySQL database password */
define(‘DB_PASSWORD’, ‘wordpresspassword’);

/** MySQL hostname */
define(‘DB_HOST’, ‘localhost’);

这里的user是安装Mariadb的时候设置的MySQL的账户,密码也是这个账户的密码,不是上面设置的数据库密码,而是MySQL密码,如果输错了后面WordPress会提示连不上数据库。修改完成后,按“Esc”键,输入“:wq”,保存文件返回。

3.4 安装 WordPress

步骤 3.1 到 3.3,已解压了安装文件夹、创建了 MySQL 数据库与用户并自定义了 WordPress 配置文件,此步骤开始完成 WordPress 的安装。
  1. 移动安装文件至 Web 服务器文档根目录,以便可以运行安装脚本完成安装。
    mv * /usr/share/nginx/html/
    
  2. 在 Web 浏览器地址栏输入 WordPress 站点的 IP 地址(云主机的公网 IP 地址,或者该地址后跟 “wordpress文件夹”),可以看到 WordPress 安装屏幕,就可以开始配置 WordPress。 CentOS 7.4上搭建LNMP环境并利用WordPress搭建个人博客_第2张图片
  3. 将其余安装信息输入WordPress 安装向导,单击 “安装 WordPress” 完成安装。
所需信息 备注
站点标题 WordPress 网站名称。
用户名 WordPress 管理员名称。出于安全考虑,建议设置一个不同于 admin 的名称。因为与默认用户名称 admin 相比,该名称更难破解。
密码 可以使用默认强密码或者自定义密码。请勿重复使用现有密码,并确保将密码保存在安全的位置。
您的电子邮件 用于接收通知的电子邮件地址。
现在可以用登录 WordPress 博客,并开始发布博客文章了。

我的天,终于弄完了,快憋死了,上个厕所。

你可能感兴趣的:(WordPress)