基于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
一.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
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
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; 开启应用日志
cd /
mkdir www.amber.com www.movies.com
#更改属主
chown nginx.nginx www.amber.com/
chown nginx.nginx www.movies.com/
6.重启nginx
nginx -t
nginx -s reload
7.创建测试页面,进行测试
echo "www.amber.com" >> /www.amber.com/index.html
echo "www.movies.com" >> /www.movies.com/index.html
做映射vi /etc/hosts
二.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/
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
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
表示安装PHP成功
make && make install
3.配置文件修改
cd /usr/local/php5.3.28/etc/
cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf
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
四.配置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;
2.检查并启动Nginx
nginx -t
nginx -s reload
五.测试PHP解析是否成功
cd /www.movies.com
echo "" >test_info.php
做个映射
成功!
六.对PHP连接MySQL的情况进行测试
vi /www.movies.com/test.php
mysqladmin -uroot -p password '123123'
数据库访问成功!
七.在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/
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
4.导库,把数据导入库中
find . -name "*.sql"
cd install/data/
cp *.sql /root/
source /root/data_zh_cn.sql;
5.安装Web 应用
www.movies.com/skyuc/insta…
chown -R nginx.nginx skyuc/
密码:123123
www.movies.com/skyuc/admin…
八.在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
启动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博客程序
九.配置分离式部署
1、fastcgi 直接指向php的9000端口
2、安装php --with-mysql=mysqlnd
(记得在数据库给php服务器授权登录数据库)
3、fastcgi也可配置负载均衡,跟一个php服务器池
php的负载均衡 fastcgi
至此LNMP搭建完成
喜欢的话,给个关注❤️ ~
创作不易,如果本文对您有所帮助,点赞+关注
鼓励一下呗~