Nginx网站服务——编译安装及系统服务添加

news2025/1/13 15:42:37

Nginx网站服务——编译安装及系统服务添加

  • 一、Nginx的相关知识
      • 1.Nginx的简介
      • 2. Apache与Nginx的区别
      • 3.Apache的优势
      • 4.Nginx的优势
  • 二、Nginx编译安装
      • 1.关闭防火墙,将安装nginx所需软件包传到/opt目录下
      • 2.安装相关的依赖包
      • 3.创建运行用户、组
      • 4.编译安装Nginx
      • 5.检查、启动、重启、停止 nginx服务
  • 三、添加 Nginx 系统服务
      • 方法一:脚本方式
      • 方法二:在主服务中(/lib/systemd/system/)添加nginx服务配置

一、Nginx的相关知识

1.Nginx的简介

Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新
稳定性高,系统资源消耗低,对HTTP并发连接的处理能力高(单台物理服务器可支持3w~5w个并发请求)

2. Apache与Nginx的区别

ApacheNginx
apache是一个基于流程的服务器nginx是一个基于事件的web服务器
单个线程处理单个请求所有请求都由一个线程处理
apache是基于子进程的nginx避免子进程的概念
apache类似于功率nginx类似于速度
apache在内存消耗和连接上没有提高nginx在内存消耗和连接方面比较好
当流量到达进程极限时,apache将拒绝新的连接nginx在负载均衡方面表现较好
apache支持更多的osnginx不支持IBMI和openvms一样的os
apache提供了比nginx更多的功能nginx只具有核心功能
apache依赖于cpu和内存等硬件组件nginx的性能和可伸缩性不依赖于硬件
Apache不支持热部署Nginx支持热部署

3.Apache的优势

  • Rewrite比nginx的rewrite强大 (rewrite的主要功能就是实现统一资源定位符URL的跳转)
  • 模块多,基本想到的都可以找到
  • 少bug, nginx的bug相对较多
  • 超稳定
  • Nginx处理动态请求是弱项,动态请求要Apache去做。

4.Nginx的优势

  • 轻量级,nginx比apache 占用更少的内存及资源;
  • 静态处理,Nginx 静态处理性能比 Apache 高 ;
  • Nginx可以实现无缓存的反向代理加速,提高网站运行速度;
  • Nginx的性能和可伸缩性不依赖于硬件,Apache依赖于硬件;
  • Nginx支持热部署,启动速度迅速,可以在不间断服务的情况下,对软件版本或者配置进行升级;
  • nginx是异步进程,多个连接可以对应一个进程 ;apache是同步多进程,一个连接对应一个进程;
  • Nginx高度模块化,编写模块相对简单,且组件比Apache少
  • 高并发下nginx 能保持低资源低消耗高性能;
  • Nginx 配置简洁, Apache配置复杂;

二、Nginx编译安装

官网下载:http://nginx.p2hp.com/en/download.html

1.关闭防火墙,将安装nginx所需软件包传到/opt目录下

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

在这里插入图片描述

2.安装相关的依赖包

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make
nginx的配置及运行需要pcre、zlib、openssl等软件包的支持,因此需要安装这些软件的开发包,以便提供相应的库和头文件。

3.创建运行用户、组

Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)
useradd -M -s /sbin/nologin nginx

4.编译安装Nginx

cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/

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

`编译安装`
make && make install

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

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

5.检查、启动、重启、停止 nginx服务

`检查nginx服务配置是否正确`
nginx -t
								
`启动nginx服务`
/usr/local/sbin/nginx      #启动nginx服务
nginx	                    #快捷运行

`停止nginx服务`								
cat /usr/local/nginx/logs/nginx.pid		#先查看nginx的PID号
kill -3 <PID号>
kill -s QUIT <PID号>
killall -3 nginx
killall -s QUIT nginx

`重载`
kill -1 <PID号>
kill -s HUP <PID号>
killall -1 nginx
killall -s HUP nginx

`日志分割,重新打开日志文件`
kill -USR1 <PID号>

在这里插入图片描述

`平滑升级`
引入新的升级安装包
tar -zxvf nginx-1.xx.xx.tar.gz 
cd nginx-1.xx.xx
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \
--with-http_ssl_module

make                                                            #编译安装
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old  #将老版本的nginx进行备份,防止升级失败,还原
cp objs/nginx /usr/local/nginx/sbin/nginx                       #将新的运行文件放入安装的运行目录
make upgrade

在这里插入图片描述

三、添加 Nginx 系统服务

方法一:脚本方式

vim /etc/init.d/nginx
#!/bin/bash
#chkconfig: - 99 20
#description:Nginx Service Control Script
COM="/usr/local/nginx/sbin/nginx"
PID="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
  $COM
;;

stop)
  kill -s QUIT $(cat $PID)
;;

restart)
  $0 stop
  $0 start
;;

reload)
  kill -s HUP $(cat $PID)
;;

*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1

esac
exit 0


chmod +x /etc/init.d/nginx
chkconfig --add nginx							#添加为系统服务
systemctl stop nginx
systemctl start nginx

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

方法二:在主服务中(/lib/systemd/system/)添加nginx服务配置

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

chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

在这里插入图片描述

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

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

相关文章

【Rust学习】web框架 Axum,提供REST API

cargo-watch:有修改就重启服务器&#xff0c;类似java web的热部署 安装&#xff1a;cargo install cargo-watch 使用&#xff1a;cargo watch -x run 这样每次有修改就会自动重启web服务 vscode插件Thunder Client(类似postman) hello,world 建议用cargo add的方式添加 […

视频压缩存储解决方案

一、背景介绍 随着视频技术的不断发展&#xff0c;人们对视频质量和存储需求的要求也越来越高。而视频文件的大小往往会给存储和传输带来诸多困扰。因此&#xff0c;如何有效地压缩视频文件成为了一个非常重要的问题。 二、压缩算法简介 有损压缩&#xff1a;通过去除视频中的…

SpringBoot3整合SpringSecurity,实现自定义接口权限过滤

接口权限过滤是指对于某些接口或功能&#xff0c;系统通过设定一定的权限规则&#xff0c;只允许经过身份认证且拥有相应权限的用户或应用程序进行访问和操作。这种技术可以有效地保护系统资源和数据安全&#xff0c;防止未授权的用户或程序进行恶意操作或非法访问。通常情况下…

广州华锐互动:智能虚拟人运用到短视频行业能带来哪些价值?

随着科学技术的不断发展&#xff0c;虚拟数字人呈现飞跃式发展&#xff0c;各式各样的虚拟数字人进入到我们的视野&#xff0c;而同样作为新风口的短视频行业&#xff0c;也成为了人们日常生活中不可或缺的一部分。那么&#xff0c;将这两者结合起来会带来哪些变化呢&#xff1…

C#开发串口调试助手实现modbusRTU通信

今天给大家搞个项目&#xff0c;跟我来&#xff0c;走过路过不要错过&#xff0c;看大V如何玩C#工业软件开发&#xff0c;搞事的目的是&#xff1a;掌握MODBUSRTU通信协议&#xff0c;掌握简单型串口调试助手开发&#xff0c;掌握串口通信过程 硬件产品&#xff1a;串口RS232温…

中移链资源管理介绍

中移链是基于EOS底层框架&#xff0c;在满足我国信息化监管需求、合规可控的前提下&#xff0c;打造的中国移动区块链服务平台。在中移链中主要包括CPU、RAM和NET三种资源。CPU资源是用于执行智能合约的计算能力&#xff0c;RAM资源用于存储智能合约和其它数据&#xff0c;NET资…

【京东API】京东app获得JD商品详情原数据接口

京东是中国最大的综合型电商网站之一&#xff0c;其app端是用户购买商品的主要途径之一。为了更好地满足用户的需求&#xff0c;开发人员提供了商品原数据接口&#xff0c;让第三方开发者可以获取京东商品的详细信息。 开发背景&#xff1a; 随着移动设备用户数量的不断增加&a…

2023最新 如何修改appstroe的开发者名称?

1、输入账号密码登录 http://itunesconnect.apple.com 2、点击app 3、点击我的账户account 4、页面往下滑动&#xff0c;点击更新信息 5、点击提供更新信息 6、根据需要修改新的信息 Hello, I want to change the company name in Chinese, according to changed to “xxx…

MySQL内存

结构 xtradb-innodb-internals-in-drawing InnoDB存储引擎体系结构 内存结构与磁盘结构 InnoDB存储结构 内存相关参数 在MySQL中&#xff0c;可以通过一些参数来控制内存的使用和管理。以下是一些常用的控制内存的参数&#xff1a; innodb_buffer_pool_size: 这是控制InnoD…

商场室内导航制作,商场导览图怎么做的?

商场导览图怎么做的&#xff1f;现在很多商场都比较大&#xff0c;往往需要借助地图才能快速找到想要去的店铺&#xff0c;比如在商场大厅展示商场楼层规划以及楼层具体商户等&#xff0c;让消费者了解商场的整体结构&#xff0c;有逛下去的欲望。重点标记出逃生通道、厕所、进…

是时候搭建一个自己的ChatGPT 了!

ChatGPT客户端-ChatBox https://github.com/Bin-Huang/chatbox 开源的 ChatGPT API (OpenAI API) 跨平台桌面客户端&#xff0c;Prompt 的调试与管理工具&#xff0c;也可以用作 ChatGPT Plus 平替。 如需找不到下载地址&#xff0c;可以私信留言。 ChatGPT Next Web https…

MySQL 自增列使用上的一些 “坑”

文章目录 前言1. 自增列空洞1.1 手动指定2.2 分配未使用 2. 自增列监控2.1 sys 库监控2.2 通用查询 3. 一些 BUG3.1 重启失效3.2 冲突问题 前言 MySQL 的规范中&#xff0c;一般都会建议表要有主键&#xff0c;常使用自增列作为主键字段&#xff0c;这和 MySQL 属于聚簇索引表…

【FlatpanelsHD】HDR生态系统追踪器

Dolby Vision被称为Profile 8.4&#xff0c;与基于pq(杜比实验室开发的感知量化技术&#xff0c;也是无处不在的HDR10的基础)的所有其他口味不同&#xff0c;它基于HLG或Hybrid Log Gamma&#xff0c;由BBC和NHK开发&#xff0c;主要用于电视直播。 用HLG捕捉HDR视频的相机并不…

选择自动化测试工具的主要考虑点是什么?

在软件开发生命周期中&#xff0c;测试是非常重要的一部分。测试的目的是确保软件系统的质量和可靠性。而随着软件开发越来越复杂&#xff0c;传统的手动测试方式已经无法满足测试的要求。自动化测试工具的出现就为测试工作提供了更高效、更准确的解决方案&#xff0c;那选择自…

基于AT89C51单片机的6位电子密码锁详细设计

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87855657?spm=1001.2014.3001.5503 源码获取 目录 1绪论 1 1.1 课题背景 1 1.2 课题设计目标 1 2系统方案论证 2 2.1 主控部分的选择 2 2.2 密码输入方式的选择 2 3 系统总体…

day8 -- 全文本搜索

brief InnoDB存储引擎从MySQL 5.6开始支持全文本搜索。具体来说&#xff0c;MySQL使用InnoDB存储引擎的全文本搜索功能称为InnoDB全文本搜索&#xff08;InnoDB Full-Text Search&#xff09;。InnoDB全文本搜索支持标准的全文本搜索查询语法和多语言分词器&#xff0c;因此可…

useCallback使用注意

背景 useCallback的作用时基于依赖项缓存函数&#xff0c;但是这个缓存时取值缓存而不是按照地址缓存&#xff0c;这导致了如果缓存的函数使用的值依赖外部某个变量&#xff0c;这个变量只会取第一次用到的值 例子 具体可以看https://codesandbox.io/s/misty-night-vds9oo?…

JavaScript:箭头函数与普通函数的区别与适用场景

文章目录 1 箭头函数与普通函数的区别1.1 语法上的区别1.2 this指向的区别1.3 arguments对象的区别1.4 箭头函数不能用作构造函数 2 箭头函数和普通函数的适用场景2.1 普通函数的适用场景2.1.1 构造函数2.1.2 方法2.1.3 回调函数 2.2 箭头函数的适用场景2.2.1 简答的回调函数2.…

IIS配置URL重写,http重定向https

文章目录 1️⃣ URL重写1.1 URL重写插件下载1.2 URL重写插件安装1.3 URL重写插件配置 优质资源分享 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/131004077 IIS配置URL重写&#xff0c;http重定向https&#xff0c;ht…

【计算机图形学】【代码复现】A-SDF中的数据集制作与数据生成

Follow A-SDF 的Data Generation部分&#xff1a; We follow (1) ANSCH to create URDF for shape2motion dataset (1-2) URDF2OBJ&#xff08;本人认为是1-2之间需要进行的重要的过渡部分&#xff09; (2) Manifold to create watertight meshes (3) and modified mesh_to_sdf…