实战-分离部署LNMP平台之个人站点

大家好今天给大家带来分离部署LNMP环境的构建及运行wordpress实例!

很多人在搭建的时候都是使用的一台机器来部署LNMP环境,但是我们在实际的工作中一般都是分离部署的。也就是说MySQL是MySQL;它是一台单机,分离部署自己跑自己的服务,提高效率!

今天我的实例是三台机器来部署LNMP环境,如下:

实战-分离部署LNMP平台之个人站点_第1张图片

OS:Centos7.2x86_64

Nginx-1.12.2 IP地址:192.168.1.10

PHP-5.6 IP地址:192.168.1.20

MySQL5.7 IP地址:192.168.1.30

一、首先安装Nginx(1.10主机操作)

1)安装相关的依赖包

 

[root@nginx ~]# yum install gcc gcc-c++ openssl-devel zlib-devel zlib pcre-devel -y

 

2)建立Nginx用户指定id

 

[root@nginx ~]# groupadd -g 1001 nginx
[root@nginx ~]#useradd -u 900 nginx -g nginx -s /sbin/nologin
[root@nginx ~]# tail -1 /etc/passwd
nginx:x:900:1001::/home/nginx:/sbin/nologin

 

3)下载Nginx源码安装包并安装

 

[root@nginx src]# wget http://nginx.org/download/nginx-1.12.2.tar.gz
[root@nginx src]# tar zxf nginx-1.12.2.tar.gz 
[root@nginx src]# cd nginx-1.12.2/

 

[[email protected]]#./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx && make && make install

 

4)创建软连接并启动Nginx访问测试

 

[root@nginx nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@nginx nginx-1.12.2]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@nginx nginx-1.12.2]# nginx
[root@nginx nginx-1.12.2]# netstat -anput | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      27185/nginx: master 

 

 

实战-分离部署LNMP平台之个人站点_第2张图片
到这里Nginx已经安装完毕,接下来安装php

 

 

 

二、安装PHP(1.20主机操作)

1)安装相关的依赖包

 

[root@php ~]# yum -y install gcc gcc-c++ libxml2-devel libcurl-devel openssl-devel bzip2-devel

 

2)安装libmcrypt

 

[root@php src]# wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
[root@php src]# tar zxf libmcrypt-2.5.7.tar.gz 
[root@php src]# cd libmcrypt-2.5.7/
[root@php libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt && make && make install

 

3)正式安装php

 

下载php安装源码包

 

[root@php src]# wget http://cn2.php.net/distributions/php-5.6.27.tar.gz

 

实战-分离部署LNMP平台之个人站点_第3张图片
解压源码包,并安装(编译过程稍微有点长)

 

[root@php src]# tar zxf php-5.6.27.tar.gz 
[root@php src]# cd php-5.6.27/

 

[root@php php-5.6.27]#./configure --prefix=/usr/local/php5.6 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts && make && make install

 

实战-分离部署LNMP平台之个人站点_第4张图片
编译安装完后我们创建Nginx用户,要求UID和GID和Nginx机器上的一致!

 

[root@php php-5.6.27]# groupadd -g 1001 nginx
[root@php php-5.6.27]# useradd -u 900 nginx -g nginx -s /sbin/nologin 
[root@php php-5.6.27]# tail -1 /etc/passwd
nginx:x:900:1001::/home/nginx:/sbin/nologin

 

提供PHP的配置文件及提供脚本

 

[root@php php-5.6.27]# cp php.ini-production /etc/php.ini
[root@php php-5.6.27]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm  
[root@php php-5.6.27]# chmod +x /etc/init.d/php-fpm  
[root@php php-5.6.27]#  chkconfig --add php-fpm
[root@php php-5.6.27]# chkconfig php-fpm on 

 

修改php主配置,并编辑如下:

 

[root@php php-5.6.27]# cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf
[root@php php-5.6.27]# vim /usr/local/php5.6/etc/php-fpm.conf  

 

 

修改内容如下:

 

 

pid = run/php-fpm.pid
user = nginx
group = nginx
listen = 192.168.1.20:9000  //PHP主机的IP地址
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35

修改完成后启动php服务

到这里我们的php完成!接下来安装MySQL

 

三、安装MySQL(1.30主机操作)

在centos7中默认自带了mariadb需要卸载

 

[root@mysql ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
[root@mysql ~]# rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps

 

1)下载MySQL二进制安装包

 

[root@mysql src]# wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

 

 

实战-分离部署LNMP平台之个人站点_第5张图片

 

2)解压MySQL二进制包把解压的文件拷贝到/usr/local/mysql下,然后进入mysql目录查看

 

[root@mysql src]# tar zxf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz 
[root@mysql src]# mv mysql-5.7.18-linux-glibc2.5-x86_64 /usr/local/mysql
[root@mysql src]# cd /usr/local/mysql/
[root@mysql mysql]# ll
总用量 40
drwxr-xr-x.  2 root root   4096 1月  21 16:05 bin
-rw-r--r--.  1 7161 31415 17987 3月  18 2017 COPYING
drwxr-xr-x.  2 root root     52 1月  21 16:05 docs
drwxr-xr-x.  3 root root   4096 1月  21 16:05 include
drwxr-xr-x.  5 root root   4096 1月  21 16:05 lib
drwxr-xr-x.  4 root root     28 1月  21 16:05 man
-rw-r--r--.  1 7161 31415  2478 3月  18 2017 README
drwxr-xr-x. 28 root root   4096 1月  21 16:05 share
drwxr-xr-x.  2 root root     86 1月  21 16:05 support-files

 

 

实战-分离部署LNMP平台之个人站点_第6张图片

 

3)优化执行路径

 

[root@mysql mysql]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile 
[root@mysql mysql]# source /etc/profile

 

4)创建data以及log目录如下:

 

[root@mysql mysql]# cd /usr/local/mysql/
[root@mysql mysql]# mkdir data
[root@mysql mysql]# mkdir log

 

5)创建mysql用户和组

 

[root@mysql mysql]# groupadd mysql && useradd -r -g mysql -s /bin/false mysql

 

6)建立MySQL主配置文件

 

[root@mysql mysql]# vim /etc/my.cnf
[root@mysql mysql]# cat /etc/my.cnf 
[client]  
socket=/usr/local/mysql/mysql.sock  
[mysqld]  
basedir=/usr/local/mysql  
datadir=/usr/local/mysql/data  
pid-file=/usr/local/mysql/data/mysqld.pid  
socket=/usr/local/mysql/mysql.sock  
log_error=/usr/local/mysql/log/mysql.err

 

7)设置相应的权限并初始化MySQL

 

[root@mysql mysql]# chmod 750 data/ && chown -R mysql . && chgrp -R mysql . && bin/mysqld --initialize --user=mysql

 

8)复制启动脚本并启动MySQL数据库

 

[root@mysql mysql]#  cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld && service mysqld start

 

查看mysql是否启动成功(Mysql密码存放在:/usr/local/mysql/log/mysql.err文件中)

 

实战-分离部署LNMP平台之个人站点_第7张图片
到这里MySQL正式安装完毕

 

四、配置Nginx支持PHP环境(1.10主机操作)

[root@nginx ~]#vim /usr/local/nginx/conf/nginx.conf

 

location / {
            root   /www;  更改网页目录
            index  index.php index.html index.htm;  添加index.phpZ
        }
location ~ \.php$ {
            root           /www;    更改目录
            fastcgi_pass   192.168.1.20:9000;  注意:在这里添加PHP主机IP地址
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }

 

[root@nginx ~]# vim /usr/local/nginx/conf/fastcgi_params添加如下:

 

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

添加完成后创建/www目录并创建测试页如下:

 

[root@nginx ~]# mkdir /www
[root@nginx ~]# chown nginx:nginx /www/
[root@nginx ~]# cd /www/
[root@nginx www]# vim index.php
[root@nginx www]# cat index.php 

 

到这里我们先别重启Nginx接下来在PHP主机操作(1.20)

 

[root@php ~]# mkdir /www
[root@php ~]# chown -R nginx:nginx /www/
[root@php ~]# cd /www/
[root@php www]# vim index.php
[root@php www]# cat index.php 

 

创建完成后接下来我们重启nginx以及php,访问测试页(1.10&1.20操作)

 

[root@nginx www]# nginx -s reload
[root@php www]# service php-fpm restart 

 

 

实战-分离部署LNMP平台之个人站点_第8张图片

 

访问到如上图那么证明我们的nginx支持PHP了接下来我们部署wordpress个人站点

在部署前我们在数据库服务器上创建wordpress数据库及授权帐户(Mysql服务器操作1.30)

 

mysql> create database wordpress;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on wordpress.* to yankerp@'%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)

 

解压wordpress压缩包(Nginx1.10操作)

 

[root@nginx ~]# tar zxf wordpress-4.9.1-zh_CN.tar.gz 
[root@nginx ~]# mv wordpress/* /www/

 

在php主机上同样的操作

 

[root@php ~]# tar zxf wordpress-4.9.1-zh_CN.tar.gz 
[root@php ~]# mv wordpress/* /www

 

访问测试:http://192.168.1.10/

实战-分离部署LNMP平台之个人站点_第9张图片实战-分离部署LNMP平台之个人站点_第10张图片实战-分离部署LNMP平台之个人站点_第11张图片实战-分离部署LNMP平台之个人站点_第12张图片实战-分离部署LNMP平台之个人站点_第13张图片实战-分离部署LNMP平台之个人站点_第14张图片实战-分离部署LNMP平台之个人站点_第15张图片

当我们创建了yankai的用户我们查看数据库

实战-分离部署LNMP平台之个人站点_第16张图片实战-分离部署LNMP平台之个人站点_第17张图片

这里就是我们的用户~~~

到这里整个分离部署LNMP环境已经完成了,希望对您有所帮助,再见!

 

你可能感兴趣的:(Linux,Linux集群架构,Linux入门到熟练)