源码安装nginx保姆级教程

一.目录存放

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.mzph.cn/news/711642.shtml

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

相关文章

【java 基础】闲话 ClassLoader 和 SPI (一)

文章目录 引子双亲委派模型你真的明白了吗? 双亲委派“不够用了”SPI机制 其他琐碎 引子 有别于 java 提供的 IO 模块,java 中的classloader主要是用来加载类的,当然除了加载类,也可以加载资源文件。 那么首先我们会问一个问题&…

java基础 - 14 Java的Deque之Deque、BlockingDeque、LinkedBlockingDeque、ArrayDeque

Java 中的 Deque(双端队列)是一种具有队列和栈特性的数据结构,它允许在两端进行插入和删除操作。Deque 接口是 Java 集合框架中的一部分,它定义了双端队列的基本操作。 BlockingDeque 接口: BlockingDeque 接口是 Deq…

docker搭建git服务器

1、docker搭建git服务器 总体思路:服务端通过docker搭建git服务器,客户端创建git的账户及公钥密钥; 1)服务端# 创建容器 # --privileged 获得完整的root权限 # /usr/sbin/init 启动容器执行的第一个命令 以便可以使用systemctl命…

2024年FPGA可以进吗

2024年,IC设计FPGA行业仍有可能是一个极具吸引力和活力的行业,主要原因包括: 1. 技术发展趋势:随着5G、人工智能、物联网、自动驾驶、云计算等高新技术的快速发展和广泛应用,对集成电路尤其是高性能、低功耗、定制化芯…

【UE 材质】制作加载图案(2)

在上一篇(【UE 材质】制作加载图案)基础上继续实现如下效果的加载图案 效果 步骤 1. 复制一份上一篇制作的材质并打开 2. 添加“Floor”节点向下取整 除相同的平铺数 此时的效果如下 删除如下节点 通过“Ceil”向上取整,参数“Tiling”默认…

教师招聘和事业编d类有什么区别吗

每年都有大批怀揣教育梦想的年轻人,站在职业的十字路口,对未来充满期许与疑惑。他们中的许多人都会面临这样一个问题:教师招聘和事业编D类,到底有什么区别?今天,就让我来为你揭开这两者的神秘面纱。 别被这…

【大数据】Flink SQL 语法篇(五):Regular Join、Interval Join

《Flink SQL 语法篇》系列,共包含以下 10 篇文章: Flink SQL 语法篇(一):CREATEFlink SQL 语法篇(二):WITH、SELECT & WHERE、SELECT DISTINCTFlink SQL 语法篇(三&…

ubuntu系统下大数据服务器磁盘调优测试记录

一、背景 在kvm虚拟机ubuntu操作系统大数据平台测试的过程中,遭遇了磁盘I/O性能的瓶颈,因有cpu绑核操作,故有做隔核操作验证是否是绑核影响的磁盘I/O,后又对磁盘进行透传以及挂内存盘等操作; 二、磁盘介绍 2.1 磁盘…

『NLP学习笔记』图解 BERT、ELMo和GPT(NLP如何破解迁移学习)

图解 BERT、ELMo和GPT(NLP如何破解迁移学习) 文章目录 一. 前言二. 示例-句子分类三. 模型架构3.1. 模型输入3.2. 模型输出四. BERT VS卷积神经网络五. 词嵌入新时代5.1. 简要回顾词嵌入Word Embedding5.2. ELMo: 上下文语境很重要5.2.1. ELMo的秘密是什么?5.3. ULM-FiT:将迁…

蓝桥杯Python B组练习——斐波那契数列

一、题目 定义 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数…

Linux x86平台获取sys_call_table

文章目录 前言一、根据call *sys_call_table来获取二、使用dump_stack三、根据MSR_LSTAR寄存器四、使用sys_close参考资料 前言 Linux 3.10.0 – x86_64 最简单获取sys_call_table符号的方法: # cat /proc/kallsyms | grep sys_call_table ffffffff816beee0 R sy…

随想录算法训练营第四十七天|198.打家劫舍、213.打家劫舍II、337.打家劫舍III

198.打家劫舍 public class Solution {public int Rob(int[] nums) {if(nums.Length0){return 0;}if(nums.Length1){return nums[0];}int[] dpnew int[nums.Length1];dp[0]nums[0];dp[1]Math.Max(nums[0],nums[1]);for(int i2;i<nums.Length;i){dp[i]Math.Max(dp[i-2]nums[…

什么是 HTTPS 证书?作用是什么?

HTTPS 证书&#xff0c;即超文本传输安全协议证书&#xff08;Hypertext Transfer Protocol Secure&#xff09;&#xff0c;是网站安全的关键组成部分。它通过 SSL/TLS 加密协议&#xff0c;确保用户与网站之间的数据传输是加密和安全的。 什么是 HTTPS 证书&#xff1f; HT…

使用Docker -compose启动自定义jar包

步骤1&#xff1a;编写docker-compose.yml文件 首先我们需要编写一个docker-compose.yml文件来定义我们的服务传到我们的云服务器上 以下是一个示例&#xff1a; version: 3 services:app:build:context: .dockerfile: Dockerfileports:- 8080:8080volumes:- ./app.jar:/app…

可视化图表:水球图,展示百分比的神器。

Hi&#xff0c;我是贝格前端工场的老司机&#xff0c;本文分享可视化图表设计的水球图设计&#xff0c;欢迎老铁持续关注我们。 一、水球图及其作用 水球图是一种特殊的可视化图表&#xff0c;它主要用于展示百分比或比例的数据&#xff0c;并以水球的形式进行呈现。水球图的作…

2023面试题

目录 题目 1:JVM 整体结构是什么样的? 8 题目 3:Object 类有哪些方法? 11 题目 4:静态变量与实例变量区别? 11 题目 5:String 类的常用方法有哪些? 11 题目 6:数组有没有 length()方法?String 有没有 length() 12 题目 7:String、StringBuffer、StringBuilder 的区别…

【k8s 访问控制--认证与鉴权】

1、身份认证与权限 前面我们在操作k8s的所有请求都是通过https的方式进行请求&#xff0c;通过REST协议操作我们的k8s接口&#xff0c;所以在k8s中有一套认证和鉴权的资源。 Kubenetes中提供了良好的多租户认证管理机制&#xff0c;如RBAC、ServiceAccount还有各种策路等。通…

集合篇之ArrayList

一、源码如何分析&#xff1f; 1.成员变量 2.构造方法 3.关键方法 一些添加的方法。 二、debug看源码 我们给出下面代码&#xff1a; public void test01() {ArrayList<Integer> list new ArrayList<>();list.add(1);for (int i 2; i < 10; i) {list.add(i…

H5:段落标签与换行标签

目录 一.前言 二.正文 1.段落标签 2.换行标签 三.结语 一.前言 学习前端&#xff0c;从此起飞&#xff0c;愿你坚持&#xff0c;直至等顶。 二.正文 1.段落标签 <p></p> p为段落标签&#xff0c;由英文paragraph简写而来&#xff0c;用于将一段某一部分文本&am…

算法练习第九天|232.用栈实现队列、225. 用队列实现栈

熟悉栈和队列的方法&#xff1b;熟悉栈和队列的数据结构&#xff0c;不涉及算法 232.用栈实现队列 import java.util.Stack; class MyQueue {//负责进栈的Stack<Integer> stackIn;//负责出栈的Stack<Integer> stackOut;public MyQueue() {stackIn new Stack<&…