三台主机搭建lnmp

文章目录


需求说明

使用三台主机分别搭建nginx,mysql,php组成lnmp架构

环境说明

系统平台 ip 需要安装的服务
centos7,redhat7 172.16.11.13 nginx
centos7,redhat7 172.16.11.14 mysql
centos7,redhat7 172.16.11.15 php

lnmp平台软件安装顺序

nginx --> mysql --> php

①.关闭防火墙

[root@lizihan ~]# systemctl stop firewalld.service 

②.关闭selinux

[root@lizihan ~]# setenforce 0
[root@lizihan ~]# sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/selinux/config 

③.准备好需要的源码包和二进制包,可以自行下载

[root@lizihan ~]# ls
anaconda-ks.cfg   mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
php-7.2.8.tar.xz  nginx-1.14.0.tar.xz


nginx-1.14.0
mysql-5.7-22
php-7.2.8

④.配置一个网络源

[root@lizihan ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@lizihan yum.repos.d]# sed -i 's/$releasever/7/g' CentOS-Base.repo 

操作步骤

安装

  • 172.16.11.13

安装nginx

//安装开发工具包 ‘Development Tools’
[root@lizihan ~]# yum -y groupinstall 'Development Tools'

//安装依赖包
[root@lizihan ~]# yum -y install openssl-devel pcre-devel openssl-devel gd-devel gcc gcc-c++


//创建nginx的用户和组
[root@lizihan ~]# groupadd -r nginx
[root@lizihan ~]# useradd -r -M -s /sbin/nologin -g nginx nginx

//创建日志存放目录
[root@lizihan ~]# mkdir  -p /var/log/nginx/
[root@lizihan ~]# chown -R nginx.nginx /var/log/nginx/

//编译安装nginx
[root@lizihan ~]# tar -xf nginx-1.14.0
[root@lizihan ~]# cd nginx-1.14.0/
[root@lizihan nginx-1.14.0]# ./configure \ --prefix=/usr/local/nginx \ 
--user=nginx \
--group=nginx \ 
--with-debug \ 
--with-http_ssl_module \ 
--with-http_realip_module \ 
--with-http_image_filter_module \ 
--with-http_gunzip_module \ 
--with-http_gzip_static_module \ 
--with-http_stub_status_module \ 
--http-log-path=/var/log/nginx/access.log \ 
--error-log-path=/var/log/nginx/error.log
[root@lizihan nginx-1.14.0]# make && make install


//将路径写入环境变量
[root@lizihan ~]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh
[root@lizihan ~]# . /etc/profile.d/nginx.sh 

//安装后检查配置是否有错
[root@lizihan nginx-1.14.0]# 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


//启动nginx
[root@lizihan nginx-1.14.0]# nginx
[root@lizihan ~]# ss -antl
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN     0      128          *:22                       *:*                  
LISTEN     0      100    127.0.0.1:25                       *:*                  
LISTEN     0      128         :::80                      :::*                  
LISTEN     0      128         :::22                      :::*                  
LISTEN     0      100        ::1:25                      :::*    
  • 172.16.11.14
    安装mysql
//安装依赖包
[root@lizihan ~]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel

//创建mysql用户和组
[root@lizihan ~]# groupadd -r mysql
[root@lizihan ~]# useradd -r -M -s /sbin/nologin -g mysql mysql
[root@lizihan ~]# id mysql
uid=996(mysql) gid=994(mysql) groups=994(mysql)

//解压二进制包,并创建连接修改属主和属组
[root@lizihan ~]# tar -xf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@lizihan ~]# cd /usr/local/
[root@lizihan local]# ln -s mysql-5.7.23-linux-glibc2.12-x86_64/ mysql
[root@lizihan local]# chown mysql.mysql mysql

//添加环境变量
[root@lizihan local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@lizihan ~]# . /etc/profile.d/mysql.sh 
//创建存放数据的目录并修改属主
[root@lizihan local]# mkdir /opt/data 
[root@lizihan local]# chown mysql.mysql /opt/data

//初始化数据库
[root@lizihan local]# mysqld --initialize --user=mysql --datadir=/opt/data

//安装后配置
[root@lizihan local]# ln -s /usr/local/mysql/include/ /usr/local/include/mysql
[root@lizihan local]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.con

//生成配置文件
[root@lizihan local]# cat > /etc/my.cnf << EOF
> [mysqld]
> datadir=/opt/data
> basedir = /usr/local/mysql
> socket = /tmp/mysql.sock
> port = 3306
> pid-file = /opt/data/mysql.pid
> user = mysql 
> skip-name-resolve
> EOF

//配置服务启动脚本
[root@lizihan local]# cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@lizihan local]# vim /etc/init.d/mysqld 
basedir=/usr/local/mysql
datadir=/opt/data


//启动mysql
[root@lizihan local]# service mysqld start
Starting MySQL.Logging to '/opt/data/lizihan.err'.
 SUCCESS! 

//修改密码
mysql> set password=password('lzh123!');
Query OK, 0 rows affected, 1 warning (0.00 sec)
  • 172.16.11.15
    安装php
//安装依赖包
[root@lizihan local]# yum -y install libxml2 libxml2-devel openssl openssl-de vel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel mhash mhash-devel

//解压并编译安装php
[root@lizihan ~]# tar -xf php-7.2.8.tar.xz 
[root@lizihan ~]# cd php-7.2.8/
[root@lizihan php-7.2.8]# ./configure --prefix=/usr/local/php7  --with-curl  --with-freetype-dir  --with-gd  --with-gettext  --with-iconv-dir  --with-kerberos  --with-libdir=lib64  --with-libxml-dir=/usr    --with-openssl  --with-pcre-regex  --with-pdo-mysql  --with-pdo-sqlite  --with-pear  --with-jpeg-dir  --with-png-dir  --with-xmlrpc  --with-xsl  --with-zlib  --with-config-file-path=/etc  --with-config-file-scan-dir=/etc/php.d  --with-bz2  --enable-fpm  --enable-bcmath  --enable-libxml  --enable-inline-optimization  --enable-mbregex  --enable-mbstring  --enable-opcache  --enable-pcntl  --enable-shmop  --enable-soap  --enable-sockets  --enable-sysvsem --enable-xml  --enable-zip
[root@lizihan php-7.2.8]# make && make install


//将路径写入环境变量中
[root@lizihan php-7.2.8]# echo 'export PATH=/usr/local/php7/bin:$PATH' > /etc/profile.d/php7.sh
[root@lizihan php-7.2.8]# . /etc/profile.d/php7.sh 


//配置php-fpm
[root@lizihan php-7.2.8]# cp php.ini-production /etc/php.ini
[root@lizihan php-7.2.8]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@lizihan php-7.2.8]# chmod +x /etc/init.d/php-fpm 
[root@lizihan php-7.2.8]# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
[root@lizihan php-7.2.8]# cp /usr/local/php7/etc/php-fpm.d/www.conf.default  /usr/local/php7/etc/php-fpm.d/www.conf

//编辑php-fpm配置文件,新添如下几行
[root@lizihan php-7.2.8]# vim /usr/local/php7/etc/php-fpm.conf
pm.max_children = 50     //最多同时提供50个进程提供50个并发服务
pm.start_servers = 5      //启动时启动5个进程
pm.min_spare_servers = 2      //最小空闲进程数
pm.max_spare_servers = 8     //最大空闲进程数


//启动php-fpm
[root@lizihan php-7.2.8]# service php-fpm start
Starting php-fpm  done


配置

  • 172.16.11.13
    配置nginx


//创建虚拟主机目录并生成php测试页面
[root@lizihan ~]# mkdir /www/abc

[root@lizihan ~]# cat > /www/abc/index.php << EOF
> <?php
>    phpinfo();
> ?>
> EOF
[root@lizihan ~]# chown -R nginx.nginx /www/abc/


//配置nginx访问页面
[root@lizihan ~]# vim /usr/local/nginx/conf/nginx.conf
#user  nobody;
worker_processes  1;


#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;


    sendfile        on;
    keepalive_timeout  65;


    server {
        listen       80;
        server_name  localhost;


        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}
 server {
       listen  80;
       server_name www.xiha.com;                //自定义域名


       location / {
            root   /www/abc;         //这里改成存放网页文件的路径
            index index.php index.html index.htm ;        //添加支持php页面
       }
       location ~ \.php$ {
            root        /www/abc;          //这里改成存放网页文件的目录
            fastcgi_pass  172.16.11.15:9000;       //这里修改成php服务器的ip
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME  /www/abc$fastcgi_script_name;     //更改$fastcgi_script_name前面的路径为网页文件的存放路径
            include        fastcgi_params;
       }
}
}




//重新加载nginx服务
[root@lizihan ~]# nginx -s reload

  • 172.16.11.15

①.修改/usr/local/php7/etc/php-fpm.d/www.conf
文件

[root@lizihan ~]# vim /usr/local/php7/etc/php-fpm.d/www.conf
listen = 172.16.11.15:9000       //修改为php服务器ip
;listen.allowed_clients = 172.16.11.13      //修改为nginx服务器ip

②.创建网页文件目录并创建文件

[root@lizihan ~]# mkdir /www/abc/ -p
[root@lizihan ~]# vim /www/abc/index.php 
<?php
     phpinfo();
?>
[root@lizihan ~]# service php-fpm restart


验证

在window上添加域名与IP映射,在/windows/system32/drrvers/etc/hosts里面

172.16.11.13 www.xiha.com

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43154788/article/details/83149039