源码安装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

四.测试

 

 

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

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

相关文章

力扣:9. 回文数

力扣:9. 回文数 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如&#xf…

【Redis | 第一篇】快速了解Redis

文章目录 1.快速了解Redis1.1简介1.2与其他key-value存储的不同处1.3Redis安装——Windows环境1.3.1下载redis1.3.2启动redis1.3.3进入redis客户端1.3.4修改配置 1.4Redis安装——Linux环境1.4.1安装命令1.4.2启动redis1.4.3进入redis客户端 1.5配置修改1.6小结 1.快速了解Redi…

开源项目:图像分类技术在医疗影像分析中的应用与实践

一、引言 在当今快速发展的医疗行业中,数字医疗正逐渐成为提升医疗服务质量和效率的关键力量。本项目旨在通过整合医药电商、远程问诊、慢病管理等多维度服务,为消费者和企业提供全面的医疗解决方案。项目的核心在于运用先进的图像分类技术,以…

开工大吉,接单助你!

新年的气息逐渐散去,打工人重返岗位,开启新一年的搬砖! 虽说,个个都叫嚷着“这个班是非上不可不可嘛?!”但不少人新年的第一条朋友圈却是“开工大吉”。好吧, 在生活和金钱的威逼利诱下&#…

OSCP靶场--Shenzi

OSCP靶场–Shenzi 考点(1.目录扫描:可以尝试使用多个工具(扫描不出来任何东西,可以结合机器名拼接url 2.WP 目标插入webshell getshell 3.windows环境AlwaysInstallElevated提权) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap -sV -sC -p- …

云呐智能运维包含哪些内容?运维未来的发展方向是什么?

智能运维(AIOps)是一种使用人工智能应用程序来调节IT操作和维护的实践方式。它结合了大数据和机器学习技术,旨在自动化和改进IT操作和维护任务,如故障检测、因果分析和自动故障修复。以下是智能操作和维护的具体内容、挑战和解决方…

ANTLR4规则解析生成器(三):遍历语法分析树

文章目录 1 词法分析2 语法分析3 遍历语法分析树3.1 Listener3.2 Visitor 4 总结 1 词法分析 词法分析就是对给定的字符串进行分割,提取出其中的单词。 在antlr4中,词法规则的名称的首字母需要大写,右侧必须是终结符,通常将词法…

unity自定义着色器基础

这些内置渲染管线的着色器示例演示了编写自定义着色器的基础知识,并涵盖了常见的用例。 有关编写着色器的信息,请参阅编写着色器。 设置场景 第一步是创建一些用于测试着色器的对象。在主菜单中选择 Game Object > 3D Object > Capsule。然后&a…

掘根宝典之C语言字符,字符串常量,字符串数组,字符指针,字符指针与字符串数组的区别

字符 什么是字符? 字符就是我们键盘上面能打出的字符,包括所有英语大小写单词,数字0到9,以及各种符号等。 C语言中的字符是用单引号括起来的,例如a, b, A, 1等。字符可以用来表示字母、数字、符号等。在C语言中&…

继续预训练对大语言模型的影响

翻译自文章:Investigating Continual Pretraining in Large Language Models: Insights and Implications 摘要 本文研究了大型语言模型(LLMs)中不断学习(CL)的不断发展领域,重点是制定有效和可持续的训练…

【前端素材】推荐优质在线服饰购物电商网页Uthr平台模板(附源码)

一、需求分析 1、系统定义 在线服饰购物商城是指一个通过互联网提供服装和配饰购买服务的电子商务平台。这类商城通常提供一个网站或移动应用程序,让顾客可以浏览、选择和购买各种类型的服装、鞋帽、包包、配饰等时尚商品。 2、功能需求 在线服饰购物商城是指一…

网工内推 | 项目经理,软考证书优先,最高26K,加班补贴

01 龙盈智达 招聘岗位:项目经理 职责描述: 1 根据业务员需求,完成生态圈下账簿中心系统的开发管理工作。 2 负责账簿中心实施过程中的需求调研分析、方案设计、开发测试、系统上线等工作的计划、组织协调、沟通等方面管理工作。 3 完成系统核…

计算机网络-网络互连和互联网(四)

1.TCP协议: 传输控制协议,面向字节流按顺序连接,可靠,全双工,可变滑动窗口,缓冲累积传送。协议号为6。下面是TCP段(段头),TCP头(传输头)&#xf…

【科研基础】小波变换

[1].参考开源库1:https://github.com/fbcotter/pytorch_wavelets Cotter, Fergal. Uses of complex wavelets in deep convolutional neural networks. Diss. 2020. [2].参考开源库2:https://github.com/brunobelloni/wran-sr-pytorch [3] F:\A\1.Code\3…

【GameFramework框架内置模块】7、事件(Event)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: https://blog.csdn.net/q7…

java工具类之解析地址

输出 代码实现 import java.util.regex.Matcher; import java.util.regex.Pattern;public class AddressResolutionUtil {/*** 解析地址* author ys* param address* return*/public static String addressResolution(String address){String regex"(?<province>…

Keepalived 双机热备基础知识

7.1 Keepalived 双机热备基础知识 Keepalived起初是专门针对LVS设计的一款强大的辅助工具&#xff0c;主要用来提供故障切换(Failover) 和健康检查査(Health Checking)功能一一判断LVS 负载调度器、节点服务器的可用性&#xff0c;及时隔离并替 换为新的服务器&#xff0c;当故…

从零开始学习Netty - 学习笔记 -Netty入门【ByteBuf】

5.2.4.ByteBuf ByteBuf 是 Netty 框架中用于处理字节数据的一个核心类。它提供了一个灵活而高效的方式来处理字节数据&#xff0c;适用于网络编程和其他需要处理字节数据的场景。 ByteBuf的特点 可扩展性&#xff1a; ByteBuf 支持动态扩容&#xff0c;可以根据需要自动增长容…

1978-2022年各省农业总产值数据(无缺失)

1978-2022年各省农业总产值数据(无缺失) 1、时间&#xff1a;1978-2022年 2、范围&#xff1a;包括全国31省 3、来源&#xff1a;国家统计J、统计NJ、各省NJ 4、指标解释&#xff1a;农业总产值是一定时期&#xff08;通常为一年&#xff09;内以货币形式表现的农、林、牧、…

【C#】忽略大小的替换字符串

结果 代码 string a"aAAAAAAaBBaaCC"; string b Strings.Replace(a, "a", "D", 1, -1, CompareMethod.Text);