lnmp搭建wordpress

2023年 9月 7日 52.1k 0

基于LNMP搭建WordPress

WordPress简介
WordPress是一款[个人博客系统],并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的,用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。

架构与软件

本次实验所用案例架构与软件为:Linux+MySQL+PHP+nginx+WordPress

LNMP工作原理

浏览器发送http request请求到服务器(Nginx),服务器响应并处理web请求。如果是静态文本直接返回,否则将脚本(PHP)通过接口传输协议(网关协议)PHP-FCGI(fast-cgi)传输给PHP-FPM(进程管理程序),然后PHP-FPM调用PHP解析器的其中一个进程PHP-CGI来解析php脚本信息。【PHP-FPM在启动时启动了多个PHP-CGI子进程,并发执行。】然后将解析后的脚本返回到PHP-FPM,PHP-FPM再通过fast-cgi的形式将脚本信息传送给Nginx。服务器再通过Http response的形式传送给浏览器。浏览器再进行解析与渲染然后进行呈现。

首先 查看内核uname -r

再查看系统版本号cat /etc/redhat-release
图片1.png

一.LNMP之部署Nginx

1、搭建Nginx 服务,安装支持软件

rpm -q pcre-devel zlib-devel gcc gcc-c++ make openssl

openssl-devel

yum -y install pcre-devel zlib-devel openssl openssl-devel

rpm -q pcre-devel zlib-devel gcc gcc-c++ make openssl openssl-devel

2、创建程序用户和组

useradd -M -s /sbin/nologin nginx

tail -1 /etc/passwd ;tail -1 /etc/group

图片2.png

3、编译安装Nginx

tar xf nginx-1.6.3.tar.gz -C /usr/src
cd /usr/src/nginx-1.6.3/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make && make install
echo $?   0没有问题
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ 软链接

which nginx

4、启动Nginx

nginx
netstat -antup |grep nginx

图片3.png

5、修改nginx.conf 主配置文件

cd /usr/local/nginx/conf/
egrep -v "#|^$" nginx.conf.default >nginx.conf
vi nginx.conf

 

error_log logs/error.log;开启错误日志

use epoll; 指定一个事件模型

日志标准化

log_format main '$remote_addr - $remote_user [$time_local]

"$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';
 

access_log logs/access.log main; 开启应用日志

 
lnmp搭建wordpress-1

cd /
mkdir www.amber.com www.movies.com
#更改属主
chown nginx.nginx www.amber.com/ 
chown nginx.nginx www.movies.com/

图片5.png

6.重启nginx

nginx -t
nginx -s reload

图片6.png

7.创建测试页面,进行测试

echo "www.amber.com" >> /www.amber.com/index.html

echo "www.movies.com" >> /www.movies.com/index.html

做映射vi /etc/hosts

图片7.png

图片8.png

二.LNMP之MySQL数据库

本例采用MySQL二进制安装包进行安装演示

1 创建mysql用户的账号

useradd -s /sbin/nologin -M mysql

2.采用二进制方式安装MySQL

tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz -C /usr/local/

图片9.png

3.修改mysql配置文件

cd mysql
cp support-files/my-small.cnf /etc/my.cnf

4.初始化MySQL数据库文件

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

#初始化MySQL数据库文件,会有很多信息提示,如果没有ERROR级别的错误,会有两个OK的字样,表示初始化成功,否则就要解决初始化的问题。

5.配置并启动MySQL数据库

cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

启动MySQL数据库,命令如下

/etc/init.d/mysqld start

图片10.png

6.检查MySQL数据库是否启动,命令如下

netstat -antup | grep mysql

7.创建软链接

ln -s /usr/local/mysql/bin/* /usr/bin/

三.LNMP之PHP(FastCGI方式)服务的安装和准备

1.安装配置PHP,安装支持软件

yum -y install epel*

yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses curl openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expadevel xmlrpc-c xmlrpc-c-devel gdt

yum -y install libmcrypt-devel mhash mcrypt

2.编译安装解压PHP配置

tar xf php-5.3.28.tar.gz -C /usr/src/
cd /usr/src/php-5.3.28/
./configure 
--prefix=/usr/local/php5.3.28 
--with-mysql=/usr/local/mysql 
--with-iconv-dir=/usr/local/libiconv 
--with-freetype-dir 
--with-jpeg-dir 
--with-png-dir 
--with-zlib 
--with-libxml-dir=/usr 
--enable-xml 
--disable-rpath 
--enable-safe-mode 
--enable-bcmath 
--enable-shmop 
--enable-sysvsem 
--enable-inline-optimization 
--with-curl 
--with-curlwrappers 
--enable-mbregex 
--enable-fpm 
--enable-mbstring 
--with-mcrypt 
--with-gd 
 --enable-gd-native-ttf 
--with-openssl 
--with-mhash 
--enable-pcntl 
--enable-sockets 
--with-xmlrpc 
--enable-zip 
--enable-soap 
--enable-short-tags 
--enable-zend-multibyte 
--enable-static 
--with-xsl 
--with-fpm-user=nginx 
--with-fpm-group=nginx 
--enable-ftp

图片11.png
表示安装PHP成功

make && make install

 

3.配置文件修改

cd /usr/local/php5.3.28/etc/
cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf

图片12.png

4.安装后优化调整

cp -p /usr/src/php-5.3.28/php.ini-development /usr/local/php5.3.28/php.ini
ln -s /usr/local/php5.3.28/bin/* /usr/local/bin/
ln -s /usr/local/php5.3.28/sbin/* /usr/local/sbin/

5.启用php-fpm 进程

php-fpm
ps -ef |grep php-fpm
netstat -antup |grep 9000

lnmp搭建wordpress-2

四.配置Nginx解析PHP

1.修改Nginx配置文件

vim /usr/local/nginx/conf/nginx.conf
location ~ .(php|php5)?$ {
        root /www.movies.com;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi.conf;

图片14.png

2.检查并启动Nginx

nginx -t
nginx -s reload

五.测试PHP解析是否成功

cd /www.movies.com
echo "" >test_info.php

做个映射

图片15.png

图片16.png
成功!

六.对PHP连接MySQL的情况进行测试

vi /www.movies.com/test.php

 

mysqladmin -uroot -p password '123123'

图片17.png

图片18.png
数据库访问成功!

七.在LNMP 平台,部署SKYUC 应用

1.安装unzip

yum -y install unzip
mv SKYUC.v3.4.2.SOURCE.zip /www.movies.com/
cd /www.movies.com/
mkdir bak
mv *.php bak/

图片19.png

2.解压SKYUC,部署程序代码

unzip SKYUC.v3.4.2.SOURCE.zip
cd SKYUC.v3.4.2.SOURCE/
ls
cp -rp wwwroot/ /www.movies.com/skyuc
cd /www.movies.com/skyuc/
chown -R nginx:nginx admincp/ data/ templates/ upload

3.创建数据库

mysql -uroot -p123123
create database skyucdb;
grant all on skyucdb.* to runskyuc@localhost identified by 'admin123';
quit

图片20.png

4.导库,把数据导入库中

find . -name "*.sql"
cd install/data/
cp *.sql /root/

图片21.png

source /root/data_zh_cn.sql;

图片22.png

5.安装Web 应用

www.movies.com/skyuc/insta…

图片23.png

chown -R nginx.nginx skyuc/

图片24.png

图片25.png
密码:123123

图片26.png

图片27.png

www.movies.com/skyuc/admin…

图片28.png

图片29.png

八.在LNMP 平台,部署一个blog程序服务

不管做什么,每项业务一开启,得先有一个库

 

1.配置MySQL数据库

1)登陆MySQL数据库,操作如下

mysql -uroot -p123123

2)创建一个专用的数据库WordPress,用于存放blog数据,操作如下

create database wordpress; #创建一个数据库,名字为wordpress
show databases like 'wordpress';#查看

3)创建一个专用的WordPress blog管理用户,命令如下

grant all on wordpress.* to wordpress@'localhost' identified by '123123'; #localhost为客户端地址
flush privileges; #刷新权限,使得创建用户生效

2.Nginx及PHP环境配置准备

1)选择之前配置好的支持LNMP的blog域名对应的虚拟主机,命令如下

vi /usr/local/nginx/conf/nginx.conf

图片30.png
启动nginx

nginx -t
nginx -s reload

3.获取WordPress博客程序,并放置到blog域名对应虚拟主机的站点目录下,即/blogcom

tar xf wordpress-4.7.4-zh_CN.tar.gz -C /www.amber.com/  #解压
cd /www.amber.com/
mv wordpress/* .
cd ..
chown -R nginx.nginx www.amber.com/

4.开始安装blog博客程序

图片31.png

图片32.png

图片33.png

图片34.png

图片35.png

图片36.png

图片37.png

九.配置分离式部署

1、fastcgi 直接指向php的9000端口

2、安装php --with-mysql=mysqlnd
(记得在数据库给php服务器授权登录数据库)

3、fastcgi也可配置负载均衡,跟一个php服务器池

php的负载均衡 fastcgi

图片38.png

图片39.png

lnmp搭建wordpress-3
至此LNMP搭建完成

喜欢的话,给个关注❤️ ~
创作不易,如果本文对您有所帮助,点赞+关注鼓励一下呗~

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论