搭建 LAMP + WORDPRESS 环境

一、环境介绍

二、必装依赖软件

三、编译安装 Nginx-1.6.3

四、二进制安装 MYSQL-5.5.33

五、编译安装 PHP-5.3.27

六、检测 nginx与mysql nginx与php 是否相连

七、安装 wordpress (分别基于IP,域名访问)



一、环境介绍

搭建这个环境,所有服务都安装在一台虚拟机中,在此介绍一下我的虚拟机

CentOS-6.7-x86_64    保证虚拟机可以正常上网

IP:192.168.6.36

hostname:yuci

关闭  iptbales   selinux

搭建 LNMP+WordPress 环境_color



二、必装依赖软件

全部通过 yum 安装

lrzsz      # 软件和此环境没有什么关系。安装后可以通过xshell直接拖拽软件包

pcre

pcre-devel

openssl-devel

yum -y install lrzsz pcre pcre-devel openssl-devel

rpm -qa lrzsz pcre pcre-devel openssl-devel

搭建 LNMP+WordPress 环境_color_02

搭建 LNMP+WordPress 环境_color_03



三、编译安装 Nginx-1.6.3


创建一个专门用于存放软件包的目录

mkdir -p /home/yuci/tools

搭建 LNMP+WordPress 环境_target_04


创建 nginx 用户,并检查

useradd -s /sbin/nologin/ -M nginx

id nginx

搭建 LNMP+WordPress 环境_blank_05


解压 nginx 压缩包(安装过 lrzsz ,所以可直接拖拽软件的该目录)

tar zxf nginx-1.6.3.tar.gz

搭建 LNMP+WordPress 环境_target_06


开始编译安装 nginx , 在 nginx 目录下输入一下命令

搭建 LNMP+WordPress 环境_target_07

./configure --prefix=/application/nginx-1.6.3 --user=nginx \

--group=nginx --with-http_ssl_module \

--with-http_stub_status_module \

&& make && make install


创建一个软连接,保留软件版本的同时方便操作

ln -s /application/nginx-1.6.3/ /application/nginx

搭建 LNMP+WordPress 环境_target_08


启动 nginx 服务

/application/nginx/sbin/nginx

搭建 LNMP+WordPress 环境_blank_09


浏览器输入IP地址,nginx 搭建成功

搭建 LNMP+WordPress 环境_target_10




四、二进制安装 MYSQL-5.5.33


解压 mysql 安装包

tar zxf mysql-5.5.33-linux2.6-x86_64.tar.gz

搭建 LNMP+WordPress 环境_color_11


切到 /application 目录,lamp 环境中的所有服务都将安装到此目录中,方便管理

将 mysql 移动到 /application 目录中,并保留 mysql 版本号

mv /home/yuci/tools/mysql-5.5.33-linux2.6-x86_64 ./mysql-5.5.33

搭建 LNMP+WordPress 环境_blank_12


为 mysql 创建软连接,方便管理

ln -s /application/mysql-5.5.33/ /application/mysql

搭建 LNMP+WordPress 环境_target_13


创建 mysql 用户

useradd -s /sbin/nologin/ -M mysql

id mysql

搭建 LNMP+WordPress 环境_blank_14


初始化 mysql

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql

搭建 LNMP+WordPress 环境_blank_15


授权 mysql ,将其属主属组改为 mysql 用户

chown -R mysql:mysql /application/mysql

搭建 LNMP+WordPress 环境_blank_16


拷贝 mysql 配置文件,选取 small 就好

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

搭建 LNMP+WordPress 环境_color_17


修改 mysql 的启动脚本 mysqld_safe,因为 mysql 的默认安装路径在 /usr/local/mysql,但现在 mysql 在 /application 目录中,所以通过 sed 命令更改

sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe

搭建 LNMP+WordPress 环境_blank_18


启动 mysql ,通过启动脚本 mysql_safe,并放入后台执行

/application/mysql/bin/mysqld_safe &

搭建 LNMP+WordPress 环境_color_19


通过端口检查 mysql 是否启动

lsof -i :3306

搭建 LNMP+WordPress 环境_target_20


每次通过 mysqld_safe 启动比较麻烦,所以配置变量,通过修改 /etc/profile 实现即可

vim /etc/profile      

PATH="/application/mysql/bin:$PATH" 

source /etc/profile

搭建 LNMP+WordPress 环境_color_21

搭建 LNMP+WordPress 环境_color_22


拷贝 mysql 启动脚本,重命名为 mysqld 。

替换 mysql 启动脚本中的路径,将/usr/local/mysql 替换为 /application/mysql。

给 mysqld 这个脚本增加执行权限

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

sed -i 's#/usr/local/mysql#/application/mysql#g' /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

搭建 LNMP+WordPress 环境_target_23


使用 killall 命令杀死正在运行的 mysql 服务,重复杀,直到出现 mysqld: no process killed 的提示

killall mysqld

搭建 LNMP+WordPress 环境_target_24


启动 mysql,并检查

/etc/init.d/mysqld start

搭建 LNMP+WordPress 环境_blank_25


将 mysql 设为开机启动

chkconfig mysqld on

搭建 LNMP+WordPress 环境_target_26


设置 mysql 的 root 密码为 123456,并登陆 mysql

mysqladmin -uroot password "123456"

mysql -uroot -p123456

搭建 LNMP+WordPress 环境_color_27



五、编译安装 PHP-5.3.27

安装 PHP 太麻烦,先确定一下流程吧

1)确认nginx ,mysql服务已经启动

2)通过 yum 安装








3)编译安装 libiconv-1.14 介个软件,因为它无法通过 yum 成功安装

4)通过 wget 新下载一个 epel 源

5)安装 libmcrypt   libmcrypt-devel 包

6)安装 mhash 加密扩展库

7)安装 mcrypt 加密扩展库

8)编译安装 PHP-5.3.7



1

在安装 PHP 之前首先应该确认一下 nginx与mysql 服务都已经启动

lsof -i :80

lsof -i :3306

搭建 LNMP+WordPress 环境_blank_28


2

安装php需要的各种lib库文件,其中安装 gd-devel 时安装失败,同时安装 gd gd-devel 才安装上

yum -y install freetype-devel libjpeg-devel libpng-devel gd gd-devel libcurl-devel libxslt-devel

rpm -qa freetype-devel libjpeg-turbo-devel libpng-devel gd gd-devel libcurl-devel libxslt-devel

(libjpeg-devel == libjpeg-turbo-devel)

搭建 LNMP+WordPress 环境_target_29


3

安装 libiconv,这个软件无法通过 yum 安装,只能编译安装了

解压软件 -> 切到其目录中 -> 执行命令,编译安装

tar zxf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure --prefix=/usr/local/libiconv && make && make install

搭建 LNMP+WordPress 环境_target_30


4

安装 epel 源,因为后面还要安装的 libmcrypt 库。介个库离不开介个源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

搭建 LNMP+WordPress 环境_color_31


5

安装 libmcrypt   libmcrypt-devel 包,并检查

yum -y install libmcrypt-devel

rpm -qa libmcrypt*

搭建 LNMP+WordPress 环境_target_32

搭建 LNMP+WordPress 环境_target_33


6)

安装 mhash 加密扩展库,并检查

yum -y install mhash mhash-devel

rpm -qa mhash mhash-devel

搭建 LNMP+WordPress 环境_blank_34

搭建 LNMP+WordPress 环境_color_35


7

安装 mcrypt 加密扩展库,并检查

yum -y install mcrypt

rpm -qa mcrypt

搭建 LNMP+WordPress 环境_blank_36

搭建 LNMP+WordPress 环境_color_37


8

编译安装 PHP-5.3.7,将 php 的安装包放到规定的 /home/yuci/tools 目录中

tar zxf php-5.3.27.tar.gz

cd php-5.3.27

搭建 LNMP+WordPress 环境_blank_38


创建文件,不创建 PHP 编译中会报错

touch ext/phar/phar.phar

搭建 LNMP+WordPress 环境_target_39


创建一个软连接文件

ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/

搭建 LNMP+WordPress 环境_blank_40


正式编译安装 PHP, 编译路径如下, PHP 目录下执行即可

./configure \

--prefix=/application/php5.3.27 \

--with-mysql=/application/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

make && make install


看到以下画面,说明安装成功,继续操作

搭建 LNMP+WordPress 环境_color_41


给 php 创建一个软连接

ln -s /application/php5.3.27/ /application/php

搭建 LNMP+WordPress 环境_target_42


配置 PHP 解析文件,php.ini

ls -l php.ini*

搭建 LNMP+WordPress 环境_target_43

搭建 LNMP+WordPress 环境_blank_44


将配置文件复制到 php 安装目录,并改名为 php.ini

cp php.ini-production /application/php/lib/php.ini

搭建 LNMP+WordPress 环境_blank_45


php进程管理文件生效(php-fpm.conf 进程管理)

搭建 LNMP+WordPress 环境_blank_46

cp php-fpm.conf.default php-fpm.conf

搭建 LNMP+WordPress 环境_blank_47


启动 php-fpm,检查是否启动,查看 php-fpm 端口

/application/php/sbin/php-fpm

ps -ef | grep php-fpm

ss -lntup | grep php-fpm

搭建 LNMP+WordPress 环境_blank_48




六、编辑 nginx.conf 文件

将文件过滤,看着也方便,编辑如下

egrep -v "#|^$" nginx.conf.default > nginx.conf

搭建 LNMP+WordPress 环境_blank_49


检测 nginx与mysql nginx与php 是否相连

在此目录下分别创建 phpinifo.php,mysql.php 两个文件,文件内容如下

搭建 LNMP+WordPress 环境_color_50


<?php

phpinfo();

?>

搭建 LNMP+WordPress 环境_blank_51


<?php

       $link_id=mysql_connect('localhost','root','123456') or mysql_error();

       if($link_id){

                echo "mysql successful by yuci.";

       }else{

                echo mysql_error();

       }

?>            

搭建 LNMP+WordPress 环境_target_52


检查语法,平滑加载

/application/nginx/sbin/nginx -t

/application/nginx/sbin/nginx -s reload

搭建 LNMP+WordPress 环境_color_53


浏览器中分别输入

192.168.6.36/phpinfo.php

192.168.6.36/mysql.php


搭建 LNMP+WordPress 环境_blank_54



七、安装 wordpress


wordpress 需要使用 mysql 的数据库,所以先来操作 mysql

首先登陆 mysql

搭建 LNMP+WordPress 环境_target_55


创建 wordpress 同名的数据库,并检查

create database wordpress;

show databases;

搭建 LNMP+WordPress 环境_color_56


创建对 wordpress 用户和密码,并授予其权限,刷新生效

grant all on wordpress.* to wordpress@'localhost' identified by '123456';

flush privileges;

搭建 LNMP+WordPress 环境_target_57



到此为止可以先在虚拟机中创建一个快照,方便后面的实验。

跟别会有一个基于 IP 地址的测试和基于 域名 的测试



七、安装 wordpress


将 wordpress 安装包复制到 /home/yuci/tools,并解压

tar zxf wordpress-4.2.2-zh_CN.tar.gz

搭建 LNMP+WordPress 环境_target_58


切到 html 目录中,将解压的 wordpress 文件中的内容剪切过去,并赋予 html 目录下的所有文件 777 权限

cd /application/nginx/html

mv /home/yuci/tools/wordpress/* ./

chmod -R 777 ./

搭建 LNMP+WordPress 环境_blank_59


编辑 /application/nginx/conf/nginx.conf 文件,添加一个动态页面

cd /application/nginx/conf/

vim nginx.conf

搭建 LNMP+WordPress 环境_color_60

搭建 LNMP+WordPress 环境_target_61

搭建 LNMP+WordPress 环境_blank_62


/application/nginx/sbin/nginx -t

/application/nginx/sbin/nginx -s reload

搭建 LNMP+WordPress 环境_color_63


在浏览器中输入IP地址,开始配置

根据提示,开始新建并配置 wp-config.php 文件


搭建 LNMP+WordPress 环境_target_64


搭建 LNMP+WordPress 环境_blank_65


搭建 LNMP+WordPress 环境_blank_66


搭建 LNMP+WordPress 环境_color_67


搭建 LNMP+WordPress 环境_blank_68


搭建 LNMP+WordPress 环境_target_69


最后访问 IP 地址,成功访问博客


搭建 LNMP+WordPress 环境_blank_70




基于域名访问博客 blog.yuci.com


以为之前配置的基于 IP 地址访问的,所以先做好备份。

cd /application/nginx/conf/nginx.conf

cp nginx.conf nginx.conf.bak


编辑 /application/nginx/conf/nginx.conf 文件

vim nginx.conf

include    extra/blog.conf;

搭建 LNMP+WordPress 环境_blank_71


在 conf 目录中创建一个 extra 目录

mkdir extra

搭建 LNMP+WordPress 环境_target_72


因为在 nginx.conf 文件中 include  指定了 extra/blog.conf 所以需要先创建 extra 目录,在创建 blog.conf 文件

查看之前的 nginx.conf 的备份文件 nginx.conf.bak,使用 sed 命令搞定 blog.conf 文件

sed -n '10,22p' nginx.conf.bak > extra/blog.conf

搭建 LNMP+WordPress 环境_color_73


有基础需要改动,如下喽

搭建 LNMP+WordPress 环境_target_74


解压 wordpress 安装包

tar zxf wordpress-4.2.2-zh_CN.tar.gz

搭建 LNMP+WordPress 环境_color_75


blog.conf 中的选项 root  html ,所以先切到 html 目录中

mv /home/yuci/tools/wordpress/* ./

搭建 LNMP+WordPress 环境_color_76


将 html 中的所有文件设置为 777,这样不安全应该是目录755文件644,但是实验就懒一下吧

搭建 LNMP+WordPress 环境_blank_77

chmod -R 777 extra/

搭建 LNMP+WordPress 环境_blank_78


重新检测,平滑加载

/application/nginx/sbin/nginx -t

/application/nginx/sbin/nginx -s reload

搭建 LNMP+WordPress 环境_target_79


还需要在手动修改本机的 hosts 文件

搭建 LNMP+WordPress 环境_blank_80


输入 blog.yuci.com