nginx中间件部署

中间件部署流程

~高级权限账户安装必要的插件 -> 普通权限账户安装所需要的服务 -> 高级权限账户开启并设置开机自启所安装的服务 -> iptables放行所需要的服务

普通权限账户安装NGINX中间件

1、拥有高级权限的账户安装必要的插件

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


2、普通账户进行NGINX的脚本式安装

vi nginx_intall.sh

#!/bin/bash

TAR_NAME="$1"
TAR_NAME_DIR=`basename nginx-1.26.2.tar.gz | awk -F '.tar.gz' '{print $1}'`
RE_TAR_NAME_DIR=`basename nginx-1.26.2.tar.gz | awk -F '.tar.gz' '{print $1}' | awk -F '-' '{print $1}'`
USER="$2"

chown -R ${USER}:${USER} ${TAR_NAME} && tar -zxvf  ${TAR_NAME} && mv ${TAR_NAME_DIR} ${RE_TAR_NAME_DIR} && cd ${RE_TAR_NAME_DIR} && mkdir  -p    /home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR} && mkdir  -p /home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR}/logs && mkdir  -p /home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR}/run && cd /home/${USER}/${RE_TAR_NAME_DIR} && ./configure --prefix=/home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR} --error-log-path=/home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR}/logs/error.log --http-log-path=/home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR}/logs/access.log --pid-path=/home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR}/run/${RE_TAR_NAME_DIR}.pid --sbin-path=/home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR}/sbin/${RE_TAR_NAME_DIR} --conf-path=/home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR}/conf/${RE_TAR_NAME_DIR}.conf --with-http_stub_status_module --with-http_ssl_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-pcre --user=${USER} && make -j$(nproc) && make install 

chmod +x nginx_intall.sh

sh nginx_intall.sh [NGINX_TAR_NAME] [USER] #[NGINX_TAR_NAME]为NGINX的包名最好用双引号括起来,[USER]为当前的普通账户账户

3(1)、切换拥有高级账户启动NGINX服务并创建名为NGINX文件夹的软链接

sudo /home/普通账户/nginx/nginx/sbin/nginx -c /home/普通账户/nginx/nginx/conf/nginx.conf

sudo ln -s /home/普通账户/nginx/nginx/ /home/普通账户/NGINX/

3(2)、设置开机自启

高级权限用户


vi /etc/systemd/system/nginx.service

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target

[Service]
Type=forking
PIDFile=/home/普通账户/nginx/nginx/run/nginx.pid
ExecStartPre=-/home/普通账户/nginx/nginx/sbin/nginx -t
ExecStart=/bin/sudo /home/普通账户/nginx/nginx/sbin/nginx -c /home/普通账户/nginx/nginx/conf/nginx.conf
User=高级权限用户
Group=高级权限用户
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

sudo chown 普通账户:普通账户 /etc/systemd/system/nginx.service

sudo systemctl start nginx && sudo systemctl enable nginx && sudo systemctl status nginx

sudo iptables -I INPUT -p tcp -s 源IP地址或者源IP网段 --dport 80 -j ACCEPT && sudo iptables-save
 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言自定义类型【结构体】详解,【结构体内存怎么计算】 详解 【热门考点】:结构体内存对齐

引言 详细讲解什么是结构体,结构体的运用, 详细介绍了结构体在内存中占几个字节的计算。 【热门考点】:结构体内存对齐 介绍了:结构体传参 一、什么是结构体? 结构是⼀些值的集合,这些值称为成员变量。结构…

前端应用更新通知机制全解析:构建智能化版本更新策略

引言:数字时代的更新挑战 在持续交付的现代软件开发模式下,前端应用平均每周产生2-3次版本迭代。但据Google研究报告显示,38%的用户在遇到功能异常时仍在使用过期版本的应用。如何优雅地实现版本更新通知,已成为提升用户体验的关…

Apache DolphinScheduler:一个可视化大数据工作流调度平台

Apache DolphinScheduler(海豚调度)是一个分布式易扩展的可视化工作流任务调度开源系统,适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据…

[蓝桥杯 2023 省 B] 飞机降落

[蓝桥杯 2023 省 B] 飞机降落 题目描述 N N N 架飞机准备降落到某个只有一条跑道的机场。其中第 i i i 架飞机在 T i T_{i} Ti​ 时刻到达机场上空,到达时它的剩余油料还可以继续盘旋 D i D_{i} Di​ 个单位时间,即它最早可以于 T i T_{i} Ti​ 时刻…

使用Trae 生成的React版的贪吃蛇

使用Trae 生成的React版的贪吃蛇 首先你想用这个贪吃蛇,你需要先安装Trae Trae 官方地址 他有两种模式 chat builder 我使用的是builder模式,虽然是Alpha.还是可以用。 接下来就是按着需求傻瓜式的操作生成代码 他生成的代码不完全正确,比如没有引入…

AI大模型:(一)1.大模型的发展与局限

说起AI大模型不得不说下机器学习的发展史,机器学习包括传统机器学习、深度学习,而大模型(Large Models)属于机器学习中的深度学习(Deep Learning)领域,具体来说,它们通常基于神经网络…

rust学习笔记17-异常处理

今天聊聊rust中异常错误处理 1. 基础类型&#xff1a;Result 和 Option&#xff0c;之前判断空指针就用到过 Option<T> 用途&#xff1a;表示值可能存在&#xff08;Some(T)&#xff09;或不存在&#xff08;None&#xff09;&#xff0c;适用于无需错误信息的场景。 f…

Python:单继承方法的重写

继承&#xff1a;让类和类之间转变为父子关系&#xff0c;子类默认继承父类的属性和方法 单继承&#xff1a; class Person:def eat(self):print("eat")def sing(self):print("sing") class Girl(Person):pass#占位符&#xff0c;代码里面类下面不写任何东…

记录一下aes加密与解密

该文章只做拓展后续会更新&#xff1b;如有出错请指出 首先需要先引入相关依赖 crypto-js 然后直接开始存储 export function aesEncrypt(message: string, key: string) {return aes.encrypt(message, key).toString(); } 之后是解密方式 function decrypt(content: any, key…

[免费]直接整篇翻译pdf工具-支持多种语言

<闲来没事写篇博客填补中文知识库漏洞> 如题&#xff0c;[免费][本地]工具基于开源仓库&#xff1a; 工具 是python&#xff01;太好了&#xff0c;所以各个平台都可以&#xff0c;我这里基于windows. 1. 先把github代码下载下来&#xff1a; git clone https://githu…

UI设计中的用户反馈机制:提升交互体验的关键

hello宝子们...我们是艾斯视觉擅长ui设计和前端数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 在数字化产品泛滥的今天&#xff0c;用户与界面的每一次交互都在无形中塑造着他们对产品的认知。一个…

Hessian 矩阵是什么

Hessian 矩阵是什么 目录 Hessian 矩阵是什么Hessian 矩阵的性质及举例说明**1. 对称性****2. 正定性决定极值类型****特征值为 2(正),因此原点 ( 0 , 0 ) (0, 0) (0,0) 是极小值点。****3. 牛顿法中的应用****4. 特征值与曲率方向****5. 机器学习中的实际意义**一、定义与…

Nginx 代理访问一个 Web 界面时缺少内容

1. 资源路径问题 Web 页面中的静态资源&#xff08;如图片、CSS、JavaScript 文件&#xff09;可能使用了相对路径或绝对路径&#xff0c;而这些路径在代理后无法正确加载。 解决方法&#xff1a; 检查资源路径&#xff1a;打开浏览器的开发者工具&#xff08;按 F12&#xf…

GPU视频编解码:Jetson VPI+multimedia_api视频编解码入门(一)

目录 一.Pipline与工具栈 二.硬件设备概况 三.GPU视频编解码框架 四.VPI编译使用实例 五. jetson_multimedia_api编译使用实例 一.Pipline与工具栈 二.硬件设备概况 三.GPU视频编解码框架 jetson设备目前不支持VPF框架&#xff0c;关于VPF的使用我在下节PC段使用X86进行安…

《深入理解AOP编程:从基础概念到Spring实现》

AOP编程 AOP(Aspect Oriented Programing) 面向切面编程 Spring动态代理开发 以切面为基本单位的程序开发&#xff0c;通过切脉你间的彼此协同&#xff0c;相互调用&#xff0c;完成程序构建 切面切入点额外功能 OOP(Object Oriented Programing)面向对象编程 java 以对象为基本…

C# 零基础入门篇(19.DateTime 使用指南)

## 一、概述 DateTime 是 C# 中用于表示日期和时间的结构&#xff0c;位于 System 命名空间中。它提供了丰富的属性和方法&#xff0c;用于处理日期和时间的创建、格式化、比较和计算。 ## 二、创建 DateTime 对象 ### &#xff08;一&#xff09;使用默认构造函数 DateTime…

Docker 实践与应用举例

一、引言 在当今快速发展的信息技术领域&#xff0c;容器化技术已成为推动软件开发、部署和运维变革的关键力量。Docker 作为容器化技术的领军者&#xff0c;以其高效、便捷、可移植等特性&#xff0c;被广泛应用于各种场景。它能够将应用程序及其依赖项打包成一个独立的容器&…

C++初阶——类和对象(一)

C初阶——类和对象&#xff08;一&#xff09; 一、面向过程和面向对象 1.面向过程 面向过程的程序设计&#xff08;Procedure-Oriented Programming&#xff09;&#xff0c;简称POP&#xff0c;是一种是以程序执行流程为核心的编程范式。它是先分析出解决问题所需要的的步…

Skyeye 云智能制造办公系统 VUE 版本 v3.15.13 发布

Skyeye 云智能制造&#xff0c;采用 Springboot winUI 的低代码平台、移动端采用 UNI-APP。包含 30 多个应用模块、50 多种电子流程&#xff0c;CRM、PM、ERP、MES、ADM、EHR、笔记、知识库、项目、门店、商城、财务、多班次考勤、薪资、招聘、云售后、论坛、公告、问卷、报表…

Obsidian Copilot:打造你的专属 AI 笔记助手

Obsidian Copilot作为一款非常受欢迎的Obsidian插件&#xff0c;不仅极大地提升了用户的笔记管理和信息检索效率&#xff0c;还通过其多样化的AI功能为用户带来了前所未有的便捷体验。本文将详细介绍Obsidian Copilot的核心特点、使用方法及个人体验分享。 核心特点 Obsidian…