源码安装nginx保姆级教程

news2024/11/20 18:28:00

一.目录存放

1./usr/lib/syste,md/system/:每个服务最主要的启动脚本设定

2. /run/systemd/system/:系统执行过程中所产生的服务脚本,这些脚本的优先序要比             /usr/lib/systemd/system/  高!

3./etc/systemd/system/:管理员依据主机系统需求建立的执行脚本,/run/systemd/system/  高喔!

4.rhel7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,需要开机不登陆就能运行的程序,存在系统服务里,即:/usr/lib/systemd/system目录下

5.每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install]

二.脚本参数详解

1.Type字段定义启动类型

2.1.1.Type=simple(默认值):systemd认为该服务将立即启动。服务进程不会fork(子进程)。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket激活型。

2.1.2.Type=forking:systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常规的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。

2.1.3.Type=notify:与 Type=simple相同,但约定服务会在就绪后向systemd发送一个信号

 2..Server结尾,三部分服务配置

[Unit]:服务的说明

Description:描述服务

 After:依赖,当依赖的服务启动之后再启动自定义的服务
        表示如果network.target或sshd-keygen.service需要启动,那么nginx.service应该在它们之后启动

[Service]服务运行参数的设置

Type=forking是后台运行的形式
        PIDFile
        : pid文件路径
        ExecStartPre :启动服务之前执行的命令(启动前要做什么,上文中是测试配置文件 -t)
        ExecStart为服务的具体运行命令
        ExecReload为重启命令
        ExecStop为停止命令
        PrivateTmp=True表示给服务分配独立的临时空间
        注意:启动、重启、停止命令全部要求使用绝对路径

[Install]服务安装的相关设置,可设置为多用户

三.源码安装nginx

3.1.下载nginx

[root@node1 ~]# wget -c https://nginx.org/download/nginx-1.24.0.tar.gz
--2024-02-29 18:41:16--  https://nginx.org/download/nginx-1.24.0.tar.gz
正在解析主机 nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:5c0:2600::6, ...
正在连接 nginx.org (nginx.org)|52.58.199.22|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1112471 (1.1M) [application/octet-stream]
正在保存至: “nginx-1.24.0.tar.gz”

nginx-1.24.0.tar.gz 100%[================>]   1.06M  51.5KB/s  用时 20s     

2024-02-29 18:41:36 (55.0 KB/s) - 已保存 “nginx-1.24.0.tar.gz” [1112471/1112471])

 

易错点:

法一:
[root@node ~]# yum install -y ca-certificates

法二:
[root@node ~]# wget --no-check-certificate https://nginx.org/download/nginx-0.1.24.tar.gz
--2024-01-24 20:52:45--  https://nginx.org/download/nginx-0.1.24.tar.gz
正在解析主机 nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:5c0:2601::6, ...
正在连接 nginx.org (nginx.org)|3.125.197.172|:443... 已连接。
警告: “nginx.org” 的证书不可信。
警告: “nginx.org” 的证书还未生效。
证书还未激活
已发出 HTTP 请求,正在等待回应... 200 OK
长度:287825 (281K) [application/octet-stream]
正在保存至: “nginx-0.1.24.tar.gz”

nginx-0.1.24.tar. 100%[==========>] 281.08K  39.0KB/s  用时 7.2s    

2024-01-24 20:52:53 (39.0 KB/s) - 已保存 “nginx-0.1.24.tar.gz” [287825/287825])

3.2.解压

[root@node1 ~]# tar xf nginx-1.24.0.tar.gz -C /usr/local/src/

3.3.安装依赖

[root@node1 ~]# yum install gcc gcc-c++ make pcre-devel openssl-devel -y

3.4.  ./configure

[root@node1 src]# cd /usr/local/src/nginx-1.24.0
[root@node1 nginx-1.24.0]# ll
总用量 836K
drwxr-xr-x 6 1001 1001 4.0K  2月 29 18:48 auto
-rw-r--r-- 1 1001 1001 316K  4月 11  2023 CHANGES
-rw-r--r-- 1 1001 1001 483K  4月 11  2023 CHANGES.ru
drwxr-xr-x 2 1001 1001 4.0K  2月 29 18:48 conf
-rwxr-xr-x 1 1001 1001 2.6K  4月 11  2023 configure
drwxr-xr-x 4 1001 1001 4.0K  2月 29 18:48 contrib
drwxr-xr-x 2 1001 1001 4.0K  2月 29 18:48 html
-rw-r--r-- 1 1001 1001 1.4K  4月 11  2023 LICENSE
drwxr-xr-x 2 1001 1001 4.0K  2月 29 18:48 man
-rw-r--r-- 1 1001 1001   49  4月 11  2023 README
drwxr-xr-x 9 1001 1001 4.0K  4月 11  2023 src
[root@node1 nginx-1.24.0]# mkdir -pv /var/log/nginx/
[root@node1 nginx-1.24.0]# ./configure --prefix=/usr/local/nginx \
> --sbin-path=/usr/sbin/nginx \
> --error-log-path=/var/log/nginx/error.log \
> --http-log-path=/var/log/nginx/access.log \
> --pid-path=/run/nginx.pid

3.5.编译

[root@node1 nginx-1.24.0]# make

3.6.安装

[root@node1 nginx-1.24.0]# make install

3.4.编辑/usr/lib/systemd/system/nginx. service服务脚本

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=mixed
PrivateTmp=true

[Install]
WantedBy=multi-user.target

3.5.加载 

[root@node1 ~]# systemctl daemon-reload
[root@node1 ~]# systemctl start nginx

四.测试

 

 

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

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

相关文章

c语言day4 运算符 表达式 三大控制结构

1: 2: 输入一个年月日 计算这是这一年的第几天 17 int year,month,day;18 printf("请输入年份 月份 日期");19 scanf("%d %d %d",&year,&month,&day);20 int feb28;21 if(year%40&&year%1…

AI大模型-启航

文章目录 什么是大模型?(大体现在参数量巨大)大模型将会改变那些行业(大模型有哪些作用?)如何搞数据训练模型?LangChain带来的技术变革LangChain架构 什么是大模型?(大体…

【深度学习笔记】深度卷积神经网络——NiN

网络中的网络(NiN) LeNet、AlexNet和VGG都有一个共同的设计模式:通过一系列的卷积层与汇聚层来提取空间结构特征;然后通过全连接层对特征的表征进行处理。 AlexNet和VGG对LeNet的改进主要在于如何扩大和加深这两个模块。 或者&am…

Linux中如何在创建子线程的时候设置为分离属性

#include<stdio.h> #include<stdlib.h> #include<string.h> #include<sys/types.h> #include<unistd.h> #include <pthread.h> void *mythread(void *arg) {printf("id[%ld]\n",pthread_self()); } int main() { //定义pthread_…

【Java程序设计】【C00324】基于Springboot的高校疫情防控管理系统(有论文)

基于Springboot的高校疫情防控管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的高校疫情防控系统&#xff0c;本系统有管理员、学校管理员、学院管理员、教师以及学生五种角色&#xff1b; 管理员&#x…

camunda7流程引擎外部任务(External Task)如何使用

camunda7流程引擎支持两种执行服务任务的方式: 内部任务&#xff1a;同步调用与流程应用程序一起部署的代码外部任务&#xff1a;在列表中提供可由员工轮询的工作单元 第一个选项可以通过委托代码&#xff08;Delegation&#xff09; 或者脚本&#xff08;Script&#xff09;…

从零开始手写RPC框架(1)

学习java后端也有一段时间了&#xff0c;在网上寻一些教程和github上的开源库&#xff0c;学习从零开始手写一个RPC&#xff0c;学习各位大牛的代码适当修改&#xff0c;并贴上自己的一些见解和注释。 目录 RPC简介RPC和HttpClient的区别和共同点常见RPC框架 RPC框架设计常见序…

白宫敦促开发者弃用C和C++,转而使用“内存安全”的编程语言。

美国白宫国家网络总监办公室&#xff08;ONCD&#xff09;在一份新报告中呼吁开发者停止使用C或C等编程语言&#xff0c;转而使用“内存安全编程语言”&#xff0c;这是美国总统拜登网络安全战略的一部分&#xff0c;旨在保护网络空间的基础构建块。内存安全是指防止因内存访问…

6.WEB渗透测试-前置基础知识-AI应用

内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;5.WEB渗透测试-前置基础知识-常用的dos命令-CSDN博客 1.AI在生活中扮演的角色越来越重要&#xff0c;AI现在可以用来帮我们办许多事情 目前比较好用的AI模型例如Chatgpt&#xff0c;Claude&#xff0c;必应…

推荐一款ssh工具 xshell替代品 electerm

下载地址 electerm&#xff1a; https://electerm.github.io/electerm/ windows版本 产品优势 复制粘贴&#xff0c;可以直接使用ctrlc/v 非常的方便 而且不想xshell 需要账号登陆&#xff0c;有更新弹窗&#xff0c;自身集成了sftp 界面设计更新&#xff0c;比MobaXterm的…

TCP的三次握手和四次挥手 | 查看网络状态

三次握手和四次挥手是在计算机网络中用于建立和终止TCP连接的协议。这两个过程是TCP协议的重要组成部分&#xff0c;确保数据的可靠传输。 三次握手指的是在客户端和服务器之间建立连接时的步骤。具体流程如下&#xff1a; 客户端向服务器发送一个连接请求报文段&#xff08;…

0201sherlock(福尔摩斯)-通过名称寻找媒体账号(地址)-github-开源项目学习

文章目录 一 项目简介二 项目安装和演示1 安装2 演示 三 源码分析1 项目结构2 主程序源代码分析 四 添加自定义网址结语 一 项目简介 二 项目安装和演示 1 安装 # clone the repo $ git clone https://github.com/sherlock-project/sherlock.git# change the working direct…

推荐几款优秀免费开源的导航网站

&#x1f9a9;van-nav 项目地址&#xff1a;van-nav项目介绍&#xff1a;一个轻量导航站&#xff0c;汇总你的所有服务。项目亮点&#xff1a;全平台支持&#xff0c;单文件部署&#xff0c;有配套浏览器插件。效果预览 &#x1f9a9;发现导航 项目地址&#xff1a;nav项目…

【开源项目】自动字幕生成和字幕翻译

文章目录 1. 安装ffmpeg2. 克隆项目3. 配置项目运行环境4. 填写配置文件5. 运行项目&#xff08;仅使用CPU&#xff09; 项目地址&#xff1a;Github - qinL-cdy/auto_ai_subtitle 项目原理&#xff1a;使用ffmpeg提取视频的音频&#xff0c;使用whisper将音频转写为字幕&#…

消息中间件之RocketMQ源码分析(二十三)

Broker的关机恢复机制 概述 Broker关机恢复是指恢复CommitLog、Consume Queue、Index File等数据文件。Broker关机分为正常调用命令关机和异常被迫进程终止关机两种情况。恢复过程的设计目标是使正常停止的进程实现零数据丢失&#xff0c;异常停止的进程实现最少量的数据丢失…

Python:练习:输出int值a占b的百分之几。例如:输入1和4,输出:25%。

案例&#xff1a; 输出int值a占b的百分之几。例如&#xff1a;输入1和4&#xff0c;输出&#xff1a;25%。 思考&#xff1a; 所有的一步步思考&#xff0c;最后综合起来。 首先&#xff0c;确定 输出&#xff0c;那么就用input&#xff0c;而且是int值&#xff0c;所以肯定…

javaee教程郑阿奇,一线互联网架构师筑基必备技能之Java篇

一、什么情况下会发生栈内存溢出&#xff1f; 1、栈是线程私有的&#xff0c;栈的生命周期和线程一样&#xff0c;每个方法在执行的时候就会创建一个栈帧&#xff0c;它包含局部变量表、操作数栈、动态链接、方法出口等信息&#xff0c;局部变量表又包括基本数据类型和对象的引…

【Kubernetes】安装K3S

目录 前言一、原理单体架构高可用架构 二、初始化1.配置yum源2.关掉防火墙3.关掉selinux4. 修改内核参数5.关掉swap交换分区 三、安装master节点1. 安装container2.启动master服务 四、安装node节点五、卸载六、总结 前言 各位小伙伴们&#xff0c;大家好&#xff0c;小涛又来…

【MATLAB源码-第149期】基于MATLAB的2ASK,2FSK,2PSK,2DPSK等相干解调仿真,输出各节点波形。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 2ASK&#xff08;二进制幅移键控&#xff09;、2FSK&#xff08;二进制频移键控&#xff09;、2PSK&#xff08;二进制相移键控&#xff09;和2DPSK&#xff08;二进制差分相移键控&#xff09;是数字调制技术中的基本调制方…

1.2 debug的六种指令的使用,四个通用寄存器

汇编语言 首先进入环境 mount c d:masm //把c挂载在d盘中的masm当中 c: //进入c&#xff0c;进入到编译环境 dir //查看文件&#xff0c;可有可无Debug是DOS、Windows都提供的实模式&#xff08;8086 方式&#xff09;程序的调试工具。使用它可以查看CPU各种寄存器中的内容…