基于LNMP的WordPress博客传统实施记录

前言

本文旨在记录LNMP架构的搭建过程,使用wordpress验证架构的可用,使用其他组件(例如wecenter)亦可。在搭建过程中,我们需要注意的是各个组件之间的兼容性,例如版本兼容问题和模块有无对后续的影响。在本文中不会对此进行详细说明,仅对特定环境下的安装进行记录,但请自行搭建LNMP架构时充分考虑兼容性问题。

使用传统方式搭建LNMP架构,并安装WordPress

一.环境说明

使用Vmware虚拟主机安装任意Centos7虚拟主机,再于该主机内编译安装Nginx1.16.1、二进制安装Mysql5.7.28、第三方编译安装PHP7.3.5,wordpress安装中文最新版本或自己需要的版本即可。

在开始之前,请先确认yum仓库并安装好基础的软件如本文中经常使用的vim和wget,本文中将使用阿里云提供的yum仓库,请确认无误。

本文仅作过程记录,所以所有的软件程序都将安装于根目录下的test目录中,后不再进行说明。

二.编译安装Nginx

1.下载源码包并解压至test目录

mkdir /test
cd /test
wget https://nginx.org/download/nginx-1.16.1.tar.gz
tar -zxvf nginx-1.16.1.tar.gz

2.准备编译安装和后续nginx所需的组件

yum install pcre pcre-devel openssl openssl-devel gcc -y

3.准备nginx用户,给后续nginx程序降权

useradd nginx -s /sbin/nologin

4.编译安装nginx

cd /test/nginx-1.16.1
./configure --user=nginx --group=nginx --prefix=/test/nginx
make && make install

三.二进制安装Mysql

1.下载源码包并解压至test目录

cd /test
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

2.编写my.cnf

vim /etc/my.cnf
#在文件中写入以下内容,此处仅作最简单处理,请根据需求编写
[mysqld]
basedir=/test/mysql
datadir=/test/mysql/data
socket=/tmp/mysql.sock
server_id=1
port=3306
log_error=/test/mysql/data/mysql_err.log
[mysql]
socket=/tmp/mysql.sock

3.安装Mysql所需组件,创建data目录并创建mysql软连接

yum install libaio-devel -y
ln -s /test/mysql-5.7.28-linux-glibc2.12-x86_64 /test/mysql
mkdir /test/mysql/data

4.准备mysql用户,并授权mysql文件

useradd mysql -s /sbin/nologin
chown -R mysql.mysql /test/mysql/

5.初始化mysql

cd /test/mysql/bin
./mysqld --initialize-insecure --user=mysql --basedir=/test/mysql/ --datadir=/test/mysql/data/

四.使用第三方源安装php

1.准备所需组件

yum install gcc gcc-c++ make zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel \freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel -y
#发现缺少libiconv组件,我们自行安装
cd /test
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
tar -zxvf libiconv-1.15.tar.gz
cd /test/libiconv-1.15
./configure --prefix=/test/libicon
make && make install

2.下载源码包并解压至test目录

cd /test
wget http://mirrors.sohu.com/php/php-7.3.5.tar.gz
tar -zxvf php-7.3.5.tar.gz

3.编译安装php

cd /test/php-7.3.5

./configure --prefix=/test/php \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/test/libicon \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-gd \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp \
--enable-opcache=no

make && make install

五.完成LNMP架构的搭建

1.配置环境变量

vim /etc/profile.d/lnmp.sh
#在该文件中,写入以下内容使环境变量拥有整个架构的命令路径
export PATH="$PATH:/test/nginx/sbin/:/test/mysql/bin:/test/php/sbin/"

2.给MySQL准备service文件

vim /etc/systemd/system/mysqld.service
#在该文件中,写入以下内容使mysql可以被systemctl指令控制
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
User=mysql
Group=mysql
ExecStart=/test/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE=5000

3.编写Nginx虚拟主机,并启动Nginx

vim /test/nginx/conf/nginx.conf
#在该文件中,找到server块,将其删除并修改成以下内容
server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.php;
        }
        location ~ .*\.(php|php5)?$ {
        root html;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi.conf;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

nginx

4.启动mysql,并给root用户更改登入密码

systemctl start mysqld
mysqladmin -u root password '321456'

5.准备php配置文件,并启动php

cp /test/php-7.3.5/php.ini-development /test/php/etc/php.ini
cp /test/php/etc/php-fpm.conf.default /test/php/etc/php-fpm.conf
cp /test/php/etc/php-fpm.d/www.conf.default /test/php/etc/php-fpm.d/www.conf
php-fpm

安装WordPress,完成LNMP架构并验证可以使用

1.下载源码包并解压至test目录,后将nginx的html下的index.html删除将wordpress目录下的所有内容复制进html目录,并给nginx授权html目录

cd /test
wget https://cn.wordpress.org/latest-zh_CN.tar.gz --no-check-certificate
tar -zxvf latest-zh_CN.tar.gz
cd /test/nginx/html
rm index.html -rf
cp /test/wordpress/* /test/nginx/html/ -r
chown -R nginx.nginx /test/nginx/html/

2.创建wordpress数据库,并给wordpress建立专门的数据库用户

mysql -uroot -p321456
create database wordpress;
create user wordpress;
grant all on wordpress.* to wordpress@'localhost' identified by '321456';

3.关闭防火墙

systemctl stop firewalld

4.使用宿主机访问虚拟机80页面完成wordpress初始化

我们直接使用虚拟机地址访问并点击开始即可,如下图所示

填写我们准备好的wordpress数据和用户并提交,如下图所示

执行安装程序即可,如下图所示

填写相关信息记住密码和账号并安装,如下图所示

登入,完成,如下图所示

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇