码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • LNMP网络架构的搭建


    目录

     安装 MySQL 服务

    (1)准备好mysql目录上传软件压缩包并解压

    (2)安装mysql环境依赖包

    (3)创建一个mysql用户

    (4)进入软件包目录进行配置软件模块

    (5)编译

    (6)安装

    (7)修改/etc/my.cnf配置文件

    (8)修改 mysql 安装目录和 my.cnf 配置文件的属主属组

    (9)设置路径的环境变量

    (10)进入 /usr/local/mysql/bin/ 目录,进行初始化数据库

    (11)将 mysql 添加到 systemctl 服务管理并开启 

    (12)修改 mysql 的登录密码并授权远程登录

    安装 php 服务

    (1)上传 php 软件包到 /opt/php 目录下

    (2)安装 php 环境依赖包

    (3)解压 php 软件包

    (4)配置软件模版

    (5)编译

    (6)安装

    (7)将 php 的可执行程序文件放入路径环境变量的目录(用于系统识别)

    (8)调整主配置文件

    (9)调整进程服务配置文件

    (10)调整扩展配置文件

    (11)创建php用户

    (12)启动php-fpm服务

    安装 Nginx 服务

    (1)关闭防火墙

    (2)安装nginx环境依赖包

    (3)准备好nginx目录上传软件压缩包并解压

    (4)创建运行用户

    (5)进入软件包目录进行配置软件模块

    (6)编译

    (7)安装

    (8)将 nginx 的可执行程序文件放入路径环境变量的目录(用于系统识别)

    (9)添加 Nginx 系统服务

    (10)添加权限并重启nginx服务

    (11)修改配置文件nginx.conf

    (12)创建网页文件

    (13)nginx服务端安装rpcbind nfs-utils实现动态页面访问

    (14)php客户端

    (15)网页登录验证


    操作准备:准备三台虚拟机 

     安装 MySQL 服务

    (1)准备好mysql目录上传软件压缩包并解压

    1. cd /opt
    2. mkdir mysql
    3. tar xf mysql-boost-5.7.44.tar.gz

    (2)安装mysql环境依赖包

    yum -y install ncurses ncurses-devel bison cmake openssl-devel gcc gcc-c++ make

    (3)创建一个mysql用户

    (4)进入软件包目录进行配置软件模块

    1. cd /opt/mysql/mysql-boost-5.7.44
    2. cmake \
    3. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    4. -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
    5. -DSYSCONFDIR=/etc \
    6. -DSYSTEMD_PID_DIR=/usr/local/mysql \
    7. -DDEFAULT_CHARSET=utf8 \
    8. -DDEFAULT_COLLATION=utf8_general_ci \
    9. -DWITH_EXTRA_CHARSETS=all \
    10. -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    11. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
    12. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    13. -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
    14. -DMYSQL_DATADIR=/usr/local/mysql/data \
    15. -DWITH_BOOST=boost \
    16. -DWITH_SYSTEMD=1

    (5)编译

    make -j 2 

    (6)安装

    make install

    (7)修改/etc/my.cnf配置文件

    先卸载mariadb,CentOS7默认情况下会安装mariadb

    yum remove -y mariadb*

    然后添加以下内容

    1. [client]
    2. port = 3306
    3. socket=/usr/local/mysql/mysql.sock
    4. [mysqld]
    5. user = mysql
    6. basedir=/usr/local/mysql
    7. datadir=/usr/local/mysql/data
    8. port = 3306
    9. character-set-server=utf8
    10. pid-file = /usr/local/mysql/mysqld.pid
    11. socket=/usr/local/mysql/mysql.sock
    12. bind-address = 0.0.0.0
    13. skip-name-resolve
    14. max_connections=2048
    15. default-storage-engine=INNODB
    16. max_allowed_packet=16M
    17. server-id = 1
    18. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

    (8)修改 mysql 安装目录和 my.cnf 配置文件的属主属组

    1. chown -R mysql:mysql /usr/local/mysql/
    2. chown mysql:mysql /etc/my.cnf

    (9)设置路径的环境变量

    使用 echo 重定向输入到 /etc/profile 文件的末尾

    echo 'export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib' >> /etc/profile	

    运行 /etc/profile 文件

    source /etc/profile

    (10)进入 /usr/local/mysql/bin/ 目录,进行初始化数据库

    1. ./mysqld \
    2. --initialize-insecure \
    3. --user=mysql \
    4. --basedir=/usr/local/mysql \
    5. --datadir=/usr/local/mysql/data

    (11)将 mysql 添加到 systemctl 服务管理并开启 

    1. cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
    2. systemctl daemon-reload
    3. systemctl start mysqld.service
    4. systemctl enable mysqld

    (12)修改 mysql 的登录密码并授权远程登录

    可以查看当前数据库相关信息

    show databases;

    安装 php 服务

    (1)上传 php 软件包到 /opt/php 目录下

    mkdir php   #在opt目录下面创建一个php目录用于存放php软件包

    (2)安装 php 环境依赖包

    1. yum -y install \
    2. gd \
    3. libjpeg libjpeg-devel \
    4. libpng libpng-devel \
    5. freetype freetype-devel \
    6. libxml2 libxml2-devel \
    7. zlib zlib-devel \
    8. curl curl-devel \
    9. openssl openssl-devel

    (3)解压 php 软件包

    tar xf php-7.1.10.tar.bz2

    (4)配置软件模版

    切换到 /opt/php-7.1.10/ 目录下

    cd /opt/php-7.1.10/

    配置软件相关文件、路径、信息(必须在 /opt/php-7.1.10/ 目录下执行)

    1. ./configure \
    2. --prefix=/usr/local/php \
    3. --with-mysql-sock=/usr/local/mysql/mysql.sock \
    4. --with-mysqli \
    5. --with-zlib \
    6. --with-curl \
    7. --with-gd \
    8. --with-jpeg-dir \
    9. --with-png-dir \
    10. --with-freetype-dir \
    11. --with-openssl \
    12. --enable-fpm \
    13. --enable-mbstring \
    14. --enable-xml \
    15. --enable-session \
    16. --enable-ftp \
    17. --enable-pdo \
    18. --enable-tokenizer \
    19. --enable-zip

    (5)编译

    make -j 2    #注意当前计算机最大支持运行的核的数量

    (6)安装

    make install

    (7)将 php 的可执行程序文件放入路径环境变量的目录(用于系统识别)

    创建软连接,用于路径优化

    1. ln -s /usr/local/php/bin/* /usr/local/bin/
    2. ln -s /usr/local/php/sbin/* /usr/local/sbin/

    (8)调整主配置文件

    1. cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini
    2. vim /usr/local/php/lib/php.ini

    修改1170行

    修改939行——设置时区

    (9)调整进程服务配置文件

    1. cd /usr/local/php/etc/
    2. cp php-fpm.conf.default php-fpm.conf
    3. vim php-fpm.conf

    修改17行——将pid的文件路径给打开

    (10)调整扩展配置文件

    1. cd /usr/local/php/etc/php-fpm.d/
    2. cp www.conf.default www.conf

    修改23、24行

    修改36行——设置监听服务器地址

    修改62行——修改允许访问的客户端地址

    (11)创建php用户

    useradd -M -s /sbin/nologin php

    (12)启动php-fpm服务

    1. cp /opt/php/php-7.1.10/sapi/fpm/php-fpm.service /usr/lib/systemd/system
    2. systemctl daemon-reload
    3. systemctl start php-fpm.service
    4. systemctl enable php-fpm.service

    查看端口

    netstat -lntp | grep php

    安装 Nginx 服务

    (1)关闭防火墙

    1. systemctl stop firewalld
    2. systemctl disable firewalld
    3. setenforce 0
    4. vim /etc/sysconfig/selinux

    (2)安装nginx环境依赖包

    yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

    (3)准备好nginx目录上传软件压缩包并解压

    1. cd /opt
    2. mkdir nginx
    3. tar xf nginx-1.12.0.tar.gz

    (4)创建运行用户

    useradd -M -s /sbin/nologin nginx

    (5)进入软件包目录进行配置软件模块

    1. cd nginx-1.12.0/
    2. ./configure \
    3. --prefix=/usr/local/nginx \
    4. --user=nginx \
    5. --group=nginx \
    6. --with-http_stub_status_module

    (6)编译

    make -j 2 

    (7)安装

    make install

    (8)将 nginx 的可执行程序文件放入路径环境变量的目录(用于系统识别)

    创建软连接,用于路径优化

    ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
    

    (9)添加 Nginx 系统服务

    1. vim /lib/systemd/system/nginx.service
    2. [Unit]
    3. Description=nginx
    4. After=network.target
    5. [Service]
    6. Type=forking
    7. PIDFile=/usr/local/nginx/logs/nginx.pid
    8. ExecStart=/usr/local/nginx/sbin/nginx
    9. ExecReload=/bin/kill -s HUP $MAINPID
    10. ExecStop=/bin/kill -s QUIT $MAINPID
    11. PrivateTmp=true
    12. [Install]
    13. WantedBy=multi-user.target

    (10)添加权限并重启nginx服务

    1. chmod 754 /lib/systemd/system/nginx.service
    2. systemctl start nginx.service
    3. systemctl enable nginx.service

    (11)修改配置文件nginx.conf

    重启nginx服务

    systemctl restart nginx
    

    (12)创建网页文件

    1. mkdir -p /var/www/html
    2. cd /var/www/html
    3. vim test.php

    文件内容

    1. cd /usr/local/nginx/html/
    2. vim zzr.html

    文件内容

    (13)nginx服务端安装rpcbind nfs-utils实现动态页面访问

    1. yum install -y rpcbind nfs-utils
    2. vim /etc/exports

    共享文件

    1. systemctl enable --now rpcbind nfs
    2. exportfs -arv #在线发布
    3. showmount -e #检查服务端

    (14)php客户端

    1. showmount -e
    2. vim /etc/fstab
    3. 192.168.80.40:/var/www/html /var/www/html nfs defaults,_netdev 0 0

    1. mkdir -p /ar/www/html #创建目录
    2. mount -a #挂载目录

    (15)网页登录验证

  • 相关阅读:
    剑指 Offer 03. 数组中重复的数字
    并发-Java中的锁(二)--- 重入锁ReentrantLock,公平锁,非公平锁笔记
    简约的博客网页制作 大学生个人博客网页设计模板 学生个人网页成品 DIV简单个人网站作品下载 静态HTML CSS个人网页作业源代码
    SpringBoot - WebMvcConfigurer的作用是什么?
    Spring Security登录流程分析
    树和二叉树的定义
    基于世界杯算法优化概率神经网络PNN的分类预测 - 附代码
    带你了解数据库的存储过程
    shell脚本常用命令(四)
    《Redis实战篇》一、短信登录
  • 原文地址:https://blog.csdn.net/2401_83784774/article/details/139290438
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号