• 分离部署lnmp


    环境:

    主机名 IP 安装的服务
    nginx 192.168.44.128 nginx
    mysql 192.168.44.129 mysql
    php 192.168.44.130 php

    安装nginx

    //关闭防火墙与SELINUX
    [root@nginx ~]# systemctl disable --now firewalld
    [root@nginx ~]# sed -ri 's/^(SELINUX=).*/1disabled/g' /etc/selinux/config
    [root@nginx ~]# setenforce 0
    
    //安装依赖环境
    [root@nginx ~]# yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++ make wget
    [root@nginx ~]# yum -y groups mark install 'Development Tools'
     
    //下载nginx包
    [root@nginx ~]# wget http://nginx.org/download/nginx-1.20.0.tar.gz
     
    //创建nginx系统用户
    [root@nginx ~]# useradd  -r -M -s /sbin/nologin nginx
     
    //创建日志存放目录
    [root@nginx ~]# mkdir -p /var/log/nginx
    [root@nginx ~]# chown -R nginx.nginx /var/log/nginx
     
    //编译安装nginx
    [root@nginx ~]# tar -xf 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 && 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]# . /etc/profile.d/nginx.sh
     
     
    //修改配置文件
    [root@nginx ~]# vim  /usr/local/nginx/conf/nginx.conf
            location / {
                root   html;
                #添加index.php
                index index.php  index.html index.htm;
            }
     
            location ~ .php$ {
              # 设置php主机IP的监听端口
                fastcgi_pass   192.168.44.130:9000;
               # 设置nginx的默认首页文件
                fastcgi_index  index.php;
              # 设置脚本文件请求的路径
                fastcgi_param  SCRIPT_FILENAME  /var/www/html/$fastcgi_script_name;     #将$scripts修改为php根网站目录
             #引入fastcgi的配置文件
                include        fastcgi_params;
            }
     
    //检查语法是否有误
    [root@nginx ~]# 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
     
    //创建ndex.php
    [root@nginx ~]# cat > /usr/local/nginx/html/index.php <<EOF
    > <?php
    >     phpinfo();
    > ?>
    > EOF
     
    //启动服务
    [root@nginx ~]# nginx

    安装配置mysql

    //关闭防火墙与SELINUX
    [root@mysql ~]# systemctl disable --now firewalld
    [root@mysql ~]# sed -ri 's/^(SELINUX=).*/1disabled/g' /etc/selinux/config
    [root@mysql ~]# setenforce 0
    
    //下载mysql包
    [root@mysql ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
     
    //安装依赖环境
    [root@mysql ~]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel ncurses-compat-libs
     
    //创建用户
    [root@mysql ~]# useradd  -r -M -s /sbin/nologin  mysql
     
    //安装mysql
    [root@mysql ~]#  tar  -xf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
    [root@mysql ~]# ln -sv /usr/local/mysql-5.7.31-linux-glibc2.12-x86_64/  /usr/local/mysql
    [root@mysql ~]# cd /usr/local/
    [root@mysql local]# chown -R mysql.mysql mysql*
     
    //添加环境变量
    [root@mysql local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/myslq.sh
    [root@mysql local]# source /etc/profile.d/myslq.sh
     
    [root@mysql local]# ln -s /usr/local/mysql/include/  /usr/include/mysql
     
    [root@mysql local]# echo '/usr/local/mysql/lib' >/etc/ld.so.conf.d/mysql.conf
    [root@mysql local]# ldconfig
     
    //创建数据存放目录
    [root@mysql local]# mkdir /opt/mydata
    [root@mysql local]# chown  -R mysql.mysql /opt/mydata/
     
    //初始化数据库
    [root@mysql local]# mysqld --initialize-insecure --user=mysql --datadir=/opt/mydata
     
    //生成配置文件
    [root@mysql local]# cat > /etc/my.cnf <<EOF
    [mysqld]
    basedir=/usr/local/mysql
    datadir=/opt/mydata
    socket=/tmp/mysql.sock
    port=3306
    pid-file=/opt/mydata/mysql.pid
    user=mysql
    skip-name-resolve
    EOF
     
    //配置服务启动脚本
    [root@mysql local]# cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
    [root@mysql local]# sed -ri 's#^(basedir=).*#1/usr/local/mysql#g' /etc/init.d/mysqld
    [root@mysql local]# sed -ri 's#^(datadir=).*#1/opt/mydata#g' /etc/init.d/mysqld
     
    //启动MySQL
    [root@mysql local]# service mysqld start
     
    //设置密码
    [root@mysql local]# mysql -e "set password = password('123456')"

    安装php

    //关闭防火墙与SELINUX
    [root@php ~]# systemctl disable --now firewalld
    [root@php ~]# sed -ri 's/^(SELINUX=).*/1disabled/g' /etc/selinux/config
    [root@php ~]# setenforce 0
    
    //配置yum源
    [root@php ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
    [root@php ~]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
    [root@php ~]# sed -i 's#$releasever#8#g' /etc/yum.repos.d/CentOS-Base.repo
    [root@php ~]# yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
    [root@php ~]# sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
    [root@php ~]# sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
    [root@php ~]# sed -i 's|$releasever|8|' /etc/yum.repos.d/epel*
    [root@php ~]# yum clean all
    [root@php ~]# yum makeache
    
    
    //安装配置php
    [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
    [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.44.128  #修改成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

    在浏览器上访问nginx的IP测试

  • 相关阅读:
    su的使用与退出
    338. Counting Bits
    c语言学习笔记
    Linux命令
    vimrc
    CSS选择器
    链表//设计链表
    数组和字符串//反转字符串中的单词 III
    CSS样式基本知识
    开始学习CSS,为网页添加样式
  • 原文地址:https://www.cnblogs.com/chensongling/p/14828067.html
Copyright © 2020-2023  润新知