分布式安装安装LNMP_......

分布式安装安装LNMP

  • LNMP是什么
  • Nginx源码编译安装
    • 准备工作
      • 关闭安全防护配置
      • 上传源码包并解压
      • 安装编译源码依赖包
      • 创建运行用户
    • 编译安装
      • 预配置安装选项
      • 编译源代码&&安装
    • 配置优化
      • 优化路径
      • 添加 Nginx 系统服务
  • Mysql源码编译安装
    • 准备工作
      • 关闭安全防护配置
      • 卸载mariadb
      • 上传源码包并解压
      • 安装编译源码依赖包
      • 创建运行用户
    • 编译安装
      • 预配置安装选项
      • 编译源代码&&安装
    • 配置优化
      • 修改配置文件
      • 设置安装目录属性及环境变量
        • 设置安装目录属性
        • 设置路径环境变量
      • 初始化服务
      • 添加系统服务
      • 访问服务
        • 修改登录密码
        • 授权远程登录
  • Php源码编译安装
    • 准备工作
      • 关闭安全防护配置
      • 上传源码包并解压
      • 安装编译源码依赖包
    • 编译安装
      • 预配置安装选项
      • 编译源代码&&安装
    • 配置优化
      • 路径优化
      • 调整PHP配置文件
        • 主配置文件
        • 进程服务配置文件
        • 扩展配置文件
      • 启动php-fpm
    • 配置 Nginx 支持 PHP 解析
      • 验证PHP 测试页
      • 浏览器访问

LNMP是什么

Nginx源码编译安装

准备工作

关闭安全防护配置

systemctl disable firewalld --now
setenforce 0
vim /etc/selinux/config
	#将“SELINUX=enforcing”替换成“SELINUX=0”
	······
	SELINUX=0
	······

在这里插入图片描述

在这里插入图片描述

上传源码包并解压

cd /opt/
#移动到/opt目录

ll

tar xf nginx-1.26.0.tar.gz
#解压刚刚上传的源码包

ll

在这里插入图片描述
在这里插入图片描述

安装编译源码依赖包

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

在这里插入图片描述

创建运行用户

useradd -M -s /sbin/nologin nginx
#创建用户

cat /etc/passwd |grep "^$1nginx"
#验证

在这里插入图片描述

编译安装

预配置安装选项

cd nginx-1.26.0/

./configure \
--prefix=/usr/local/nginx \							
#指定nginx的安装路径
--user=nginx \										
#指定用户名
--group=nginx \										
#指定组名
--with-http_stub_status_module						
#启用 http_stub_status_module 模块以支持状态统计

在这里插入图片描述

编译源代码&&安装

make && make install

在这里插入图片描述

配置优化

优化路径

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
#让系统识别nginx的操作命令

在这里插入图片描述

添加 Nginx 系统服务


[Unit]
#服务的说明
Description=nginx
#描述服务
After=network.target
#依赖,当依赖的服务启动之后再启动自定义的服务
[Service]
#服务运行参数的设置
Type=forking
#是后台运行的形式,使用此启动类型应同时指定PIDFile=,以便systemd能够跟踪服务的主进程。
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

在这里插入图片描述
在这里插入图片描述

Mysql源码编译安装

准备工作

关闭安全防护配置

systemctl disable firewalld --now
setenforce 0
vim /etc/selinux/config
	#将“SELINUX=enforcing”替换成“SELINUX=0”
	······
	SELINUX=0
	······

在这里插入图片描述

在这里插入图片描述

卸载mariadb

yum remove -y mariadb*

在这里插入图片描述

上传源码包并解压

cd /opt/
#移动到/opt目录

ll

tar xf mysql-boost-5.7.44.tar.gz 
#解压刚刚上传的源码包

ll

在这里插入图片描述
在这里插入图片描述

安装编译源码依赖包

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

在这里插入图片描述

创建运行用户

useradd -M -s /sbin/nologin nginx
#创建用户

在这里插入图片描述

编译安装

预配置安装选项

cd /opt/mysql-5.7.44/

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \		#指定mysql的安装路径
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #指定mysql进程监听套接字文件(数据库连接文件)的存储路径
-DSYSCONFDIR=/etc \                             #指定配置文件的存储路径
-DSYSTEMD_PID_DIR=/usr/local/mysql \            #指定进程文件的存储路径
-DDEFAULT_CHARSET=utf8  \                       #指定默认使用的字符集编码,如 utf8
-DDEFAULT_COLLATION=utf8_general_ci \			#指定默认使用的字符集校对规则
-DWITH_EXTRA_CHARSETS=all \						#指定支持其他字符集编码
-DWITH_INNOBASE_STORAGE_ENGINE=1 \              #安装INNOBASE存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \               #安装ARCHIVE存储引擎 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \             #安装BLACKHOLE存储引擎 
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \            #安装FEDERATED存储引擎 
-DMYSQL_DATADIR=/usr/local/mysql/data \         #指定数据库文件的存储路径
-DWITH_BOOST=/usr/local/boost \          #指定boost的路径,若使用mysql-boost集成包安装则-DWITH_BOOST=boost
-DWITH_SYSTEMD=1								#生成便于systemctl管理的文件

在这里插入图片描述

编译源代码&&安装

make -j2 && make install
#数据库庞大,安装需要多分配几个内核进行处理

在这里插入图片描述

配置优化

修改配置文件

vim /etc/my.cnf								#删除原配置项,再重新添加下面内容
[client]									#客户端设置
port = 3306
socket = /usr/local/mysql/mysql.sock			

[mysql]										#服务端设置
port = 3306
socket = /usr/local/mysql/mysql.sock
auto-rehash									#开启自动补全功能

[mysqld]									#服务全局设置
user = mysql       							#设置管理用户
basedir=/usr/local/mysql					#指定数据库的安装目录
datadir=/usr/local/mysql/data				#指定数据库文件的存储路径
port = 3306									#指定端口
character-set-server=utf8					#设置服务器字符集编码格式为utf8
pid-file = /usr/local/mysql/mysqld.pid		#指定pid 进程文件路径
socket=/usr/local/mysql/mysql.sock			#指定数据库连接文件
bind-address = 0.0.0.0						#设置监听地址,0.0.0.0代表允许所有,如允许多个IP需空格隔开
skip-name-resolve							#禁止域名解析,包括主机名,所以授权的时候要使用 IP 地址
max_connections=4096						#设置mysql的最大连接数
default-storage-engine=INNODB				#指定默认存储引擎
max_allowed_packet=32M						#设置在网络传输中一次消息传输量的最大值。系统默认值为 1MB,最大值是 1GB,必须设置 1024 的倍数。
server-id = 1								#指定服务ID号

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

在这里插入图片描述

设置安装目录属性及环境变量

设置安装目录属性
chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

在这里插入图片描述

设置路径环境变量
echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile	
source /etc/profile

在这里插入图片描述

初始化服务

cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \				#生成初始化密码为空
--user=mysql \                      #指定管理用户
--basedir=/usr/local/mysql \        #指定数据库的安装目录
--datadir=/usr/local/mysql/data		#指定数据库文件的存储路径

在这里插入图片描述

添加系统服务

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

systemctl daemon-reload

systemctl enable mysqld --now

在这里插入图片描述

访问服务

修改登录密码
mysqladmin -u root password "abc123"
#给root账号设置密码为abc123,原始密码为空

在这里插入图片描述

授权远程登录
mysql -u root -p
grant all privileges on *.* to 'root'@'%' identified by 'abc123';

#授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限

show databases;			
#查看当前已有的数据库

在这里插入图片描述

Php源码编译安装

准备工作

关闭安全防护配置

systemctl disable firewalld --now
setenforce 0
vim /etc/selinux/config
	#将“SELINUX=enforcing”替换成“SELINUX=0”
	······
	SELINUX=0
	······
	

在这里插入图片描述

上传源码包并解压

cd /opt/
#移动到/opt目录

ll

tar jxvf php-7.1.10.tar.bz2
#解压刚刚上传的源码包

ll

在这里插入图片描述
在这里插入图片描述

安装编译源码依赖包

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 pcre-devel

在这里插入图片描述

编译安装

预配置安装选项

cd 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

在这里插入图片描述

编译源代码&&安装

make -j2 && make install

在这里插入图片描述

配置优化

路径优化

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

在这里插入图片描述

调整PHP配置文件

主配置文件
#调整主配置文件:
cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini	
vim /usr/local/php/lib/php.ini
	#--939行--取消注释,修改
	date.timezone = Asia/Shanghai
	#--1170行--修改
	mysqli.default_socket = /usr/local/mysql/mysql.sock



php -m 					#验证安装的模块

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

进程服务配置文件
cd /usr/local/php/etc/
cp  php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
	#--17行--去掉";"注释
	pid = run/php-fpm.pid

在这里插入图片描述

扩展配置文件
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf

在这里插入图片描述

启动php-fpm

/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
netstat -anpt | grep 9000

#PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器, 由于Nginx服务器不能处理动态页面,需要由 Nginx 把动态请求交给 php-fpm 进程进行解析。

cd /opt/php-7.1.10/sapi/fpm
cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
systemctl restart php-fpm.service

在这里插入图片描述

配置 Nginx 支持 PHP 解析

vim /usr/local/nginx/conf/nginx.conf
#--65行--取消注释,修改
location ~ \.php$ {
	root           html;
	fastcgi_pass   127.0.0.1:9000;
	fastcgi_index  index.php;
	fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;	
	#将 /scripts 修改为nginx的工作目录
   #fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;  #$document_root 代表当前请求在root指令中指定的值
	include        fastcgi_params;
}

systemctl restart nginx.service

在这里插入图片描述

验证PHP 测试页

vim /usr/local/nginx/html/index.php
	<?php
	phpinfo();
	?>

在这里插入图片描述

浏览器访问

============================ 未完待续 ==============================================================

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

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

相关文章

孟德尔随机化R包:TwoSampleMR和MR-PRESSO安装

1. 孟德尔随机化R包 看一篇文章&#xff0c;介绍孟德尔随机化分析&#xff0c;里面推荐了这两个R包&#xff0c;安装了解一下&#xff1a; Methods:Genome-wide association study (GWAS) data for autoimmune diseases and AMD were obtained from the IEU Open GWAS databas…

@JsonValue和@JsonCreator使用

当实体类中的属性为枚举类型时&#xff0c;将其序列化成json字符串传给前端&#xff0c;传递的应该是有效的值而不是枚举常量。 1. Get-Started Data public class Student {private Long id;private String userName;private String telephone;private String email;private …

VMware Workerstation开启虚拟机后,产生乱码名称日志文件

问题情况 如下图所示&#xff0c;我的虚拟机版本是16.1.2版本&#xff0c;每次在启动虚拟机之后&#xff0c;D盘目录下都会产生一个如图下所示的乱码名称文件。同时&#xff0c;虚拟机文件目录也是杂乱不堪&#xff0c;没有按照一台虚拟机对应一个文件夹的形式存在。 问题处理…

上位机图像处理和嵌入式模块部署(h750 mcu和图像处理)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 前面我们说过&#xff0c;h750和之前的103、407相比较&#xff0c;本身cpu频率比较高&#xff0c;flash大小一般&#xff0c;但是ram比较大&#x…

flink standalone部署模式

standalone模式可以在单台机器以不同进程方式启动&#xff0c;也可以以多机器分布式方式启动。 任务的提交模式有三种&#xff1a;application mode、session model、per-job mode&#xff08;1.4x版本后过时&#xff09;。 注意区分任务的提交模式与集群的部署模式区别。 以…

【Qt】文件操作

文章目录 1 :peach:Qt 文件概述:peach:2 :peach:输入输出设备类:peach:3 :peach:文件读写类:peach:4 :peach:文件和目录信息类:peach: 1 &#x1f351;Qt 文件概述&#x1f351; 文件操作是应⽤程序必不可少的部分。Qt 作为⼀个通⽤开发库&#xff0c;提供了跨平台的⽂件操作能…

第二十七章HTML.CSS综合案例(三)

5.小米侧边栏 效果如下&#xff1a; 代码图如下&#xff1a; <style>*{margin: 0;padding: 0;}ul{list-style: none;}a{text-decoration: none;}.box{width: 100%;height: 100%;position: absolute;background-image: linear-gradient(to right, #a07ad0, #c39340);}.…

C语言 指针——字符数组与字符指针:字符串的输入和输出

目录 逐个字符输入输出字符串 整体输入输出字符串 用scanf输入/输出字符串 用gets输入/输出字符串 用scanf输入/输出字符串 用gets输入/输出字符串 逐个字符输入输出字符串 #define STR_LEN 80 char str[STR_LEN 1 ]; 整体输入输出字符串 用scanf输入/输出字符串 用gets…

javaWeb项目-ssm+vue学生成绩管理系统功能介绍

本项目源码&#xff1a;java基于SSMVUE学生成绩管理系统源码文档资料资源-CSDN文库 项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SS…

结构体<C语言>

导言 结构体是C语言中的一种自定义类型&#xff0c;它的值&#xff08;成员变量&#xff09;可以是多个&#xff0c;且这些值可以为不同类型&#xff0c;这也是和数组的主要区别&#xff0c;下面将介绍它的一些基本用法&#xff0c;包括&#xff1a;结构体的创建、结构体变量的…

C++ Primer Plus第五版笔记(p201-250)

第六章 函数&#xff08;下&#xff09; 在含有return语句的循环后面应该也有一条return语句 不要返回局部对象的引用或指针&#xff0c;当函数结束时临时对象占用的空间也就随之释放掉了&#xff0c;所以两条return语句都指向了不再可用的内存空间。 如果函数返回指针、引用…

今日成果2024-6-7 TrustZone TEE安全SDK开发指南

Rockchip Vendor Storage Application Note.pdf OK 开机下&#xff0c;可以实现Vendor Storage的读写。 0ms时同步RTC时间 OK Rockchip_Developer_Guide_TEE_SDK_CN.pdf 什么是TrustZone 此系统方法意味着可以保护安全内存、加密块、键盘和屏幕等外设&#xff0c;从而可确…

GIS之arcgis系列07:conda环境下安装arcpy环境

首先将python27环境下的“Desktop10.8.pth”拷贝到anaconda环境下。 路径如下&#xff08;仅参考&#xff09;&#xff1a; C:\Python27\ArcGIS10.8\Lib\site-packages\Desktop10.8.pth D:\Anaconda\Lib\site-packages 在anaconda prompt中穿创建一个新环境 conda create -…

CentOS 7 下gdb任意版本的升级

文章目录 前言查看gdb版本升级步骤 小结 前言 在做项目的过程中&#xff0c;遇到了难缠的bug&#xff0c;使用gdb调试的时候&#xff0c;bt调用堆栈看的一震头疼&#xff0c;于是就想起把gdb升级一下 当前环境&#xff1a;Centos7&#xff0c;gdb&#xff1a;7.6 稍微好看了那…

CD工具AWX之作业模板与工作流模板

一、概要 本文以php和h5项目为示例&#xff0c;讲述从初始化项目到更新发布的实现详情。 它们跟java/go等进程程序不同&#xff0c;只需要下发.php等静态文件即可&#xff0c;不涉及进程的重启。 对于php项目&#xff0c;除了php文件外&#xff0c;还包括.env配置文件。&…

java之IO流和集合框架的笔记

1 File类的使用 1.1 概述 File类及本章下的各种流&#xff0c;都定义在java.io包下。 一个File对象代表硬盘或网络中可能存在的一个文件或者文件目录&#xff08;俗称文件夹&#xff09;&#xff0c;与平台无关。&#xff08;体会万事万物皆对象&#xff09; File 能新建、删…

Android14音频进阶之CarAudioManager::getOutputDeviceForUsage流程分析(七十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP…

经典神经网络(11)VQ-VAE模型及其在MNIST数据集上的应用

经典神经网络(11)VQ-VAE模型及其在MNIST数据集上的应用 我们之前已经了解了PixelCNN模型。 经典神经网络(10)PixelCNN模型、Gated PixelCNN模型及其在MNIST数据集上的应用 今天&#xff0c;我们了解下DeepMind在2017年提出的一种基于离散隐变量&#xff08;Discrete Latent va…

网页五子棋对战项目测试(selenium+Junit5)

目录 网页五子棋对战项目介绍 网页五子棋对战测试的思维导图​ 网页五子棋对战的UI自动化测试 测试一&#xff1a;测试注册界面 测试二&#xff1a;测试登陆界面 测试三&#xff1a;测试游戏大厅界面 测试四&#xff1a;测试游戏房间界面以及观战房间界面 测试五&#…

使用开源的zip.cpp和unzip.cpp实现压缩包的创建与解压(附源码)

目录 1、使用场景 2、压缩包的创建 3、压缩包的解压 4、CloseZipZ和CloseZipU两接口的区别 5、开源zip.cpp和unzip.cpp文件的下载 VC++常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/124272585C++软件异常排…