zoukankan      html  css  js  c++  java
  • Centos 7 部署lnmp集群架构

    前言介绍

    • lnmp的全程是 linux + nginx + mysql + php;
    • lnmp就是上述系统及应用程序的简写组合;
    • lnmp其实已经代表了一个用户正常对一个页面请求的流程,nginx接收请求,mysql进行数据存储,php进行后端处理;类似的架构还有lamp或者 linux + nginx + mysql + java等等;
    • lnmp又叫lemp,外国人喜欢叫lemp,中国人喜欢叫lnmp;
    • lnmp相比于lamp架构的优势在于轻便、操作相对简单;lamp优势相对于nginx而言模块丰富;

    环境配置

    编号 软件 版本
    1 Centos 7
    2 nginx 1.175
    3 mysql 5.7
    4 php 7.5

    PS:操作系统属于最小化安装,所有操作均属于在线操作,但也可以用离线操作进行替换;所有的部署操作皆按照下述操作实施。并且我在机器上面部署了ss,用来做http及https的代理请求,因为我家里的网络皆这些开源官网实在太卡了

    部署详情

    1、安装前的准备

    sed -i 's/enforcing/disabled/' /etc/selinux/config
    rpm -qa | grep "firewall" | xargs rpm -e --nodeps
    rpm -qa | grep "iptables" | xargs rpm -e --nodeps
    sed -i 's/.*UseDNS.*/UseDNS no/' /etc/ssh/sshd_config
    systemctl restart sshd
    reboot

    2、安装ss代理

    https://www.cnblogs.com/guge-94/p/11363303.html

    3、安装数据库

    https://www.cnblogs.com/guge-94/p/10552374.html

    4、安装php

    yum -y install libxml2 libxml2-devel openssl openssl-devel zlib zlib-devel pcre pcre-devel
    wget http://45.252.224.82/files/223900000DDAF9C0/zlib.net/zlib-1.2.11.tar.gz -P /opt/
    tar -zxf /opt/zlib-1.2.11.tar.gz -C /opt/
    cd /opt/zlib-1.2.11
    ./configure --prefix=/usr/local/zlib && make -j8 && make install
    wget https://www.php.net/distributions/php-7.3.11.tar.gz -P /opt/
    tar -zxf /opt/php-7.3.11.tar.gz -C /opt/
    cd /opt/php-7.3.11
    ./configure --prefix=/usr/local/php --with-mysqli=/usr/local/mysql/bin/mysql_config --with-zlib-dir=/usr/local/zlib/ --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-bcmath --enable-shmop --enable-ftp --with-openssl
    make -j8 && make install
    make test   # 这个测试过程格外的漫长,可选择执行;主要用来测试编译的结果
    
    # 生成配置文件
    PS:源码编译安装中包含fpm的代码,但是yum安装或者在线安装是需要单独指定
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    cp /opt/php-7.3.11/php.ini-production /usr/local/php/lib/php.ini
    cp /opt/php-7.3.11/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
    
    # 基本配置
    chmod a+x /etc/init.d/php-fpm 
    groupadd www
    useradd -s /sbin/nologin -g www -M www
    /etc/init.d/php-fpm start
    ln -s /usr/local/php/bin/* /usr/bin/

    PS:我这里并没有像网上那样,安装lnmp或者lamp环境的时候,搞上一大堆插件;其一一般人并不知道所有插件的功能,依赖插件或者扩展库的功能得根据相应的业务场景来定,其二我这里只是实验,如果后续你想添加任何插件,请在文章的基础之上做添加

    5、安装nginx

    https://www.cnblogs.com/guge-94/p/11758498.html

    6、检测安装结果

    mkdir -p /data/www
    cat /data/www/index.php 
    # 写一个简单的php检测一下整个lnmp环境
    <html> <head> <title>PHP 测试</title> </head> <body> <?php echo '<p>Hello World!</p>'; ?> </body> </html> cat /etc/nginx/nginx.conf
    # 这是一份关于nginx的基础配置,如需自行优化可在这个基础上进行优化 user www www; worker_processes
    1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; index index.php index.html index.htm; root /data/www; location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } } chown -R www.www /data/www nginx -t nginx -s reload

    上面的操作完成之后通过浏览器或curl请求一下主机地址即可

  • 相关阅读:
    Linux下查看文件和文件夹大小
    linux sort 命令详解
    Linux基础入门之网络属性配置
    Change SSH Welcome Banner on Ubuntu
    怎样修复grub开机引导(grub rescue)
    SSH内网穿透 Reverse SSH Tunneling
    安装 Zsh 及 Oh-my-zsh
    change grayscale to pseudo colouring using colormap in Matlab
    How to block a specific IP Address using UFW
    Linux下查看文件和文件夹大小
  • 原文地址:https://www.cnblogs.com/guge-94/p/11827304.html
Copyright © 2011-2022 走看看