LNMP网络架构的搭建

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

 安装 MySQL 服务

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

cd /opt
mkdir mysql
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)进入软件包目录进行配置软件模块

cd /opt/mysql/mysql-boost-5.7.44

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

(5)编译

make -j 2 

(6)安装

make install

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

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

yum remove -y mariadb*

然后添加以下内容

[client]
port = 3306
socket=/usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1

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 配置文件的属主属组

chown -R mysql:mysql /usr/local/mysql/
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/ 目录,进行初始化数据库

./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

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

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld

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

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

show databases;

安装 php 服务

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

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

(2)安装 php 环境依赖包

yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
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/ 目录下执行)

./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip

(5)编译

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

(6)安装

make install

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

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

ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/

(8)调整主配置文件

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

修改1170行

修改939行——设置时区

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

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

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

(10)调整扩展配置文件

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

修改23、24行

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

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

(11)创建php用户

useradd -M -s /sbin/nologin php

(12)启动php-fpm服务

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

查看端口

netstat -lntp | grep php

安装 Nginx 服务

(1)关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vim /etc/sysconfig/selinux

(2)安装nginx环境依赖包

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

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

cd /opt
mkdir nginx
tar xf nginx-1.12.0.tar.gz

(4)创建运行用户

useradd -M -s /sbin/nologin nginx

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

cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--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 系统服务

vim /lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

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

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

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

重启nginx服务

systemctl restart nginx

(12)创建网页文件

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

文件内容

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

文件内容

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

yum install -y rpcbind nfs-utils
vim /etc/exports

共享文件

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

(14)php客户端

showmount -e
vim /etc/fstab

192.168.80.40:/var/www/html /var/www/html nfs defaults,_netdev 0 0

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

(15)网页登录验证

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/683335.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

idea 中:运行 Application 时出错。命令行过长

一、问题描述: idea 导入新项目,在编译后,运行项目时,报以下错误: 14:47 运行 Application 时出错运行 Application 时出错。命令行过长。通过 JAR 清单或通过类路径文件缩短命令行,然后重新运行。二、问题…

在Oracle VM virtual box 中复制 CentOS 7虚拟机更改IP地址的操作

最近玩Redis主从复制的时候,我装了一个虚拟机,但主从复制需要准备3个虚拟机,这个时候,我又不想一个一个去装,我看到Oracle VM virtual box提供了一个虚拟机复制操作,于是就用了一下这个功能,发现…

LabVIEW传感器虚拟综合实验系统

LabVIEW传感器虚拟综合实验系统 开发了一个基于LabVIEW的传感器虚拟综合实验系统,该系统集成了NIELVIS和CSY系列传感器实验平台,通过图形化编程语言进行数据处理和实验管理。系统允许用户进行多种传感器参数的测量和实验报告的自动生成,支持…

SqlServer2016企业版安装

前言 好久没有知识的累积,最近工作上遇到新的SqlServer2016安装,记录一下 参考文章 SQL Server 2016软件安装包和安装教程 - 哔哩哔哩 (bilibili.com) 安装包准备 需要提前准备软件安装包如下 cn_sql_server_2016_enterprise_x64_dvd_8699450&…

(免费领源码)Java#springboot#MySQL书法社团管理系统36200-计算机毕业设计项目选题推荐

目 录 摘要 Abstract 1 绪论 1.1 研究背景 1.2 研究意义 1.3论文结构与章节安排 2 书法社团管理系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2.2.2 数据修改流程 2.2.3 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析…

重邮803计网概述

目录 一.计算机网络向用户提供的最重要的功能 二.互联网概述 1.网络的网络 2.计算机网络的概念 3. 互联网发展的三个阶段 4.制订互联网的正式标准要经过以下的四个阶段 5.互联网的组成(功能) 6.互联网功能 7.互联网的组成(物理&#…

Vitis HLS 学习笔记--static RAM/ROM

目录 1. 简介 2. static RAM 2.1 无 reset 的情形 2.2 含 reset 的情形 3. static ROM 4. 总结 1. 简介 本文仍然是讨论阵列的初始化与复位问题,区别于《Vitis HLS 学习笔记--global_array_RAM初始化及复位-CSDN博客》,本文讨论的对象是静态阵列&…

ARM的异常处理

目录 异常的概念 ARM的异常源 异常优先级 异常模式 异常处理的过程 状态寄存器CPSR 异常向量表 异常的概念 异常是计算机系统中一种突发事件或错误情况,它打破了正常的程序执行流程,需要特殊处理。异常可能由硬件错误、软件错误或外部事件引发&am…

09-spring的bean创建流程(一)

文章目录 spring中bean的创建流程finishBeanFactoryInitialization(beanFactory)beanFactory.preInstantiateSingletons();getMergedLocalBeanDefinition(beanName);流程实现FactoryBean接口,里面的对象实例化过程 spring中bean的创建流程 finishBeanFactoryInitialization(be…

8990890

作者主页:作者主页 数据结构专栏:数据结构 创作时间 :2024年5月18日

Mac OS 用户开启 8080 端口

开启端口 sudo vim /etc/pf.conf # 开放对应端口 pass out proto tcp from any to any port 8080 # 刷新配置文件 sudo pfctl -f /etc/pf.conf sudo pfctl -e获取本机ip地址 ifconfig en0 | grep inet | grep -v inet6 | awk {print $2}访问指定端口

JAVA环境的安装

一、JAVA环境的安装 像Java和一些其他的高级语言计算机直接识别不了,需要进行翻译,所以需要事先安装翻译工具 文件都在硬盘上,程序都在内存中 具体操作流程: 一、JDK的下载及安装 二、配置JAVA环境 1.打开环境变量 2.新建系…

Linux云计算架构师涨薪班就业服务有哪些?

学员一站式就业服务:一次学习,薪资翻倍 简历制作与指导 学员在培训期间,人才顾问会提供简历制作和指导服务,帮助学员制作出一份专业、有吸引力的简历。简历是求职者给招聘单位的第一印象,因此非常重要 模拟面试与技巧指导 为了让…

SpringBoot定时任务+Quartz 动态调度

1、分部解释 2、完整代码 3、SpringBoot定时任务Quartz 1、动态定时任务: 动态定时任务,即定时任务的动态调度,可根据需求自由的进行任务的生成、暂停、恢复、删除和更新操作。Quartz本身没有提供动态调度的功能,需要自己根据相关的API开发。…

Github 2024-06-06 Go开源项目日报 Top10

根据Github Trendings的统计,今日(2024-06-06统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10Ollama: 本地大型语言模型设置与运行 创建周期:248 天开发语言:Go协议类型:MIT LicenseStar数量:42421 个Fork数量:2724 次关注人…

小程序丨最大填表限制如何开启?

老师在新建填表时,希望设置最大数量限制,若填表达到限制,后续的学生将不能继续提交填表。 通过开启【表格最大限制】功能即可实现,下面就来教大家如何制作吧。 🔎如何开启表格最大限制功能? 按照常规流程…

探索 LLM 预训练的挑战,GPU 集群架构实战

万卡 GPU 集群实战:探索 LLM 预训练的挑战 一、背景 在过往的文章中,我们详细阐述了LLM预训练的数据集、清洗流程、索引格式,以及微调、推理和RAG技术,并介绍了GPU及万卡集群的构建。然而,LLM预训练的具体细节尚待进一…

Web安全:Web体系架构存在的安全问题和解决方案

「作者简介」:2022年北京冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础对安全知识体系进行总结与归纳,著作适用于快速入门的 《网络安全自学教程》,内容涵盖系统安全、信息收集等…

word2016版本中同时显示多个页面

为了方便查看word内容,我们会将多个页面同时显示。 对于2016版,操作方法如下: 视图 ---》多页

上海亚商投顾:沪指震荡下跌 两市成交不足7000亿元

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 沪指昨日震荡调整,创业板指冲高回落。车路云概念股持续活跃,万通智控、鸿泉物联、华体…