很多人在搭建的时候都是使用的一台机器来部署LNMP环境,但是我们在实际的工作中一般都是分离部署的。也就是说MySQL是MySQL;它是一台单机,分离部署自己跑自己的服务,提高效率!
三台机器来部署LNMP环境,如下:
OS:Centos7.3x86_64
Nginx IP地址:192.168.10.101
PHP IP地址:192.168.10.102
MySQL IP地址:192.168.10.103
首先注意事项: (三台服务器都一样)
因为是测试环境所以在这里关闭防火墙以及Linux内核
由于是光盘里的yum源 所以挂载的本地yum源
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# mkdir /media/cdrom
[root@localhost ~]# mount /dev/cdrom /media/cdrom/
[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Media.repo
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/cdrom/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
首先是在MySQL这台服务器上的操作:(顺便做个NFS)
因为MySQL时间很长 在这里以mariadb 所代替 效果是一样的
用的是 mariadb-5.5.56-2.el7.x86_64版本的包
配置如下
[root@localhost ~]# yum -y install mariadb mariadb-server
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# mysqladmin -u root password 'pwd123' //设置密码
[root@localhost ~]# mysql -uroot -ppwd123 //进入数据库
MariaDB [(none)]> create database bbs; //创建bbs库
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on bbs.* to "fl"@"192.168.10.%" identified by '123456'; //授权
Query OK, 0 rows affected (0.00 sec)
安装 PHP
配置如下:
[root@localhost ~]# yum -y install gcc* libxml2-devel pcre-devel zlib-devel
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
[root@localhost ~]# tar zxvf php-5.5.38.tar.gz
[root@localhost ~]# cd php-5.5.38/
[root@localhost php-5.5.38]# ./configure --prefix=/usr/local/php --with-mysql --with-mysqli --enable-fpm && make && make install
[root@localhost php-5.5.38]# cp php.ini-production /etc/php.ini
[root@localhost php-5.5.38]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@localhost php-5.5.38]# chmod +x /etc/init.d/php-fpm
[root@localhost php-5.5.38]# chkconfig --add php-fpm
[root@localhost php-5.5.38]# chkconfig php-fpm on
[root@localhost php-5.5.38]# cd /usr/local/php/etc/
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
[root@localhost etc]# ln -s /usr/local/php/sbin/* /usr/local/sbin/
[root@localhost etc]# ln -s /usr/local/php/bin/* /usr/local/bin/
[root@localhost php-5.5.38]# vi /usr/local/php/etc/php-fpm.conf
修改内容如下:
pid = run/php-fpm.pid
listen = 192.168.10.102:9000 //PHP主机的IP地址
修改完成后启动php服务
[root@localhost etc]# /usr/local/sbin/php-fpm
创建目录:
[root@localhost ~]# mkdir -p /var/www/html/
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# cat index.php
192.168.10.102
<?php
phpinfo();
?>
安装Nginx
[root@localhost ~]# yum install -y gcc* zlib-devel pcre-devel
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
[root@localhost ~]# tar zxvf nginx-1.12.0.tar.gz
[root@localhost ~]# cd nginx-1.12.0/
[root@localhost nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
[root@localhost nginx-1.12.0]# make && make install
优化路径,更好的启动服务
[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
进入nginx的配置文件目录
[root@localhost ~]# cd /usr/local/nginx/conf/
[root@localhost conf]# vim nginx.conf
location / {
root /var/www/html; //修改宿主目录
index index.html index.htm index.php; //添加index.php
}
location ~ \.php$ { //原本就有的模块 没有自己添加
root /var/www/html;
fastcgi_pass 192.168.10.102:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
[root@localhost ~]# nginx