成功最有效的方法就是向有经验的人学习!

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

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

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

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

自动草稿

自动草稿


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/
[root@nginx-1.12.2]#./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   

自动草稿

自动草稿


到这里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

自动草稿

自动草稿


解压源码包,并安装(编译过程稍微有点长)

[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

自动草稿

自动草稿


编译安装完后我们创建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

自动草稿

自动草稿


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

自动草稿

自动草稿


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文件中)

自动草稿

自动草稿


到这里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   
<?php  
phpinfo();  
?>

到这里我们先别重启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   
<?php  
phpinfo();  
?>

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

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

自动草稿

自动草稿


访问到如上图那么证明我们的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/

自动草稿

自动草稿

自动草稿

自动草稿

自动草稿

自动草稿

自动草稿

自动草稿

自动草稿

自动草稿

自动草稿

自动草稿

自动草稿

自动草稿


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

自动草稿

自动草稿

自动草稿

自动草稿


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

到这里整个分离部署LNMP环境已经完成了

赞(0) 打赏
未经允许不得转载:陈桂林博客 » 实战-分离部署LNMP平台之个人站点
分享到

大佬们的评论 抢沙发

全新“一站式”建站,高质量、高售后的一条龙服务

微信 抖音 支付宝 百度 头条 快手全平台打通信息流

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册