首页 > 其他 > 详细

lnmp

时间:2021-05-31 12:00:55      阅读:14      评论:0      收藏:0      [点我收藏+]

lnmp分离部署

环境说明

主机名 IP地址 应用 系统版本
nginx 192.168.110.30 nginx redhat 8
mysql 192.168.110.40 mysql redhat 8
php 192.168.110.50 php redhat 8

准备工作

配置网络源(三台机器)

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo   
sed -i -e ‘/mirrors.cloud.aliyuncs.com/d‘ -e ‘/mirrors.aliyuncs.com/d‘ /etc/yum.repos.d/CentOS-Base.repo
sed -i ‘s|$releasever|8|‘ /etc/yum.repos.d/CentOS-Base.repo  
yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
sed -i ‘s|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|‘ /etc/yum.repos.d/epel*
sed -i ‘s|^metalink|#metalink|‘ /etc/yum.repos.d/epel*
sed -i ‘s|$releasever|8|‘ /etc/yum.repos.d/epel* 

关闭防火墙和selinux(三台机器)

systemctl disable --now firewalld
setenforce 0
sed -ri ‘s/^(SELINUX=).*/\1disabled/g‘ /etc/selinux/config

准备安装包

//nginx
wget http://nginx.org/download/nginx-1.20.0.tar.gz

//mysql
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

开始部署

安装nginx

//创建nginx用户
[root@nginx ~]# useradd -r -M -s /sbin/nologin nginx
[root@nginx ~]# id nginx
uid=994(nginx) gid=991(nginx) groups=991(nginx)

//安装工具包和依赖包
[root@nginx ~]# yum -y install vim pcre-devel openssl openssl-devel gd-devel gcc gcc-c++ make
[root@nginx ~]# yum -y groups mark install ‘Development tools‘

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

//解压源码包
[root@nginx]# tar xf nginx-1.20.0.tar.gz 
[root@nginx ~]# ls
anaconda-ks.cfg  nginx-1.20.0  nginx-1.20.0.tar.gz

//编译安装
[root@nginx]# cd nginx-1.20.0
[root@nginx nginx-1.20.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@nginx nginx-1.20.0]# make -j $(grep ‘processor‘ /proc/cpuinfo | wc -l) && make install

//添加环境变量
[root@nginx nginx-1.20.0]# echo ‘export PATH=/usr/local/nginx/sbin:$PATH‘ > /etc/profile.d/nginx.sh
[root@nginx nginx-1.20.0]# source /etc/profile.d/nginx.sh
[root@nginx nginx-1.20.0]# which nginx
/usr/local/nginx/sbin/nginx

//修改配置文件
[root@nginx ~]# vim  /usr/local/nginx/conf/nginx.conf
        location / {
            root   html;
            #添加index.php
            index index.php  index.html index.htm;
        }
 
        location ~ \.php$ {
          # 设置监听端口
            fastcgi_pass   192.168.110.50:9000;
           # 设置nginx的默认首页文件
            fastcgi_index  index.php;
          # 设置脚本文件请求的路径
            fastcgi_param  SCRIPT_FILENAME  /var/www/html/$fastcgi_script_name; 将$scripts修改为php根网站目录
         #引入fastcgi的配置文件
            include        fastcgi_params;
        }
        
//创建ndex.php
[root@nginx ~]# cat > /usr/local/nginx/html/index.php <<EOF
> <?php
>     phpinfo();
> ?>
> EOF
 
//启动服务
[root@nginx ~]# nginx

安装mysql

//安装依赖包
[root@mysql ~]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel ncurses-compat-libs

//创建mysql用户
[root@mysql ~]# useradd -r -M -s /sbin/nologin mysql
[root@mysql ~]# id mysql
uid=994(mysql) gid=991(mysql) groups=991(mysql)

//解压mysql源码包到/usr/local
[root@mysql ~]# tar xf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@mysql ~]# ls /usr/local/
bin  games    lib    libexec                              sbin   src
etc  include  lib64  mysql-5.7.31-linux-glibc2.12-x86_64  share

//设置软链接并修改属主和属组
[root@mysql ~]# ln -s  /usr/local/mysql-5.7.31-linux-glibc2.12-x86_64 /usr/local/mysql
[root@mysql ~]# chown -R mysql.mysql /usr/local/mysql*

//添加环境变量
[root@mysql ~]# echo ‘export PATH=/usr/local/mysql/bin:$PATH‘ > /etc/profile.d/mysql.sh
[root@mysql ~]# source /etc/profile.d/mysql.sh 
[root@mysql ~]# which mysql
/usr/local/mysql/bin/mysql

//建立数据存放目录
[root@mysql ~]# mkdir /opt/data
[root@mysql ~]# chown -R mysql.mysql /opt/data
[root@mysql ~]# ll /opt/
total 0
drwxr-xr-x. 2 mysql mysql 6 May 30 7:38 data

//初始化数据库
[root@mysql ~]# mysqld --initialize --user=mysql --datadir=/opt/data
...以上省略n行....
root@localhost: srNd(m1cEf1d

//把这个生成的临时密码写到a文件中,方便等下查看
[root@mysql ~]# echo ‘srNd(m1cEf1d‘ > a
[root@mysql ~]# cat a
srNd(m1cEf1d

//编辑/etc/my.cnf
[root@mysql ~]# vim /etc/my.cnf

[mysqld]
basedir = /usr/local/mysql
datadir = /opt/data
socket = /tmp/mysql.sock
port = 3306
pid-file = /opt/data/mysql.pid
user = mysql
skip-name-resolve

//配置启动脚本
[root@mysql ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@mysql ~]# vim /etc/init.d/mysqld
# overwritten by settings in the MySQL configuration files.

basedir=/usr/local/mysql
datadir=/opt/data

//启动
[root@mysql local]# service mysqld start

安装php

//安装开发工具包
[root@php ~]# yum -y groups mark install ‘Development Tools‘

//安装依赖包
[root@php ~]# yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libicu-devel libjpeg libjpeg-devel libpng libpng-devel openldap-devel  pcre-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel mhash mhash-devel php-mysqlnd

//安装php
[root@php ~]# yum -y install php-*

[root@php]# vim /etc/php-fpm.d/www.conf
......................
;listen = /run/php-fpm/www.sock #注释此行
listen = 0.0.0.0:9000  #添加监听端口
...........................
...........................
; must be separated by a comma. If this value is left blank, connections will be
; accepted from any ip address.
; Default Value: any
listen.allowed_clients = 192.168.110.30  #nginx主机的ip
 
[root@php]# cat /var/www/html/index.php
<?php
    phpinfo();
?>
 
[root@php]# chown -R nginx.nginx /var/www/html/
[root@php]# systemctl  start php-fpm

//启动php
[root@php ~]# systemctl start php-fpm

测试

技术分享图片

lnmp

原文:https://www.cnblogs.com/leixixi/p/14829849.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!