nginx介绍及编译安装

nginx介绍

是一个流行的开源的高性能的HTTP和反向代理服务器,也可以用作邮件代理服务器。它以其高性能、稳定性、丰富的功能集和低资源消耗而闻名

nginx特点

  1. 高性能

    • Nginx以其高效的事件驱动架构而闻名,能够处理大量并发连接而不会消耗过多的系统资源。这使得Nginx在高流量环境下表现出色。
  2. 低资源消耗

    • 相比传统的Web服务器,Nginx具有较低的内存消耗和更高的并发连接处理能力,适合用于节约资源的环境。
  3. 可扩展性

    • Nginx支持模块化架构,可以通过添加模块来扩展其功能,从而满足不同应用场景的需求。
  4. 负载均衡和反向代理

    • Nginx具有强大的负载均衡和反向代理功能,能够有效地分发流量到多个后端服务器,提高系统的可用性和性能。
  5. 静态内容服务

    • Nginx在提供静态内容(如图片、CSS、JavaScript文件)时非常高效,能够快速地响应客户端请求。
  6. 反向代理缓存

    • Nginx可以作为反向代理服务器,缓存静态内容或动态内容,减轻后端服务器的压力,提高网站性能。
  7. SSL/TLS终结

    • Nginx支持SSL/TLS终结,能够对加密流量进行解密和加密,提供安全的通信通道。
  8. 灵活的配置

    • Nginx的配置文件简洁明了,支持灵活的配置选项,允许管理员根据需求进行定制化配置。
  9. 高可靠性

    • Nginx经过长时间的实际应用验证,稳定性和可靠性较高,适用于关键业务系统的部署。

安装nginx

1.yum 安装

  yum安装前 需要先安装epel额外源,官方源内没有nginx

  yum install epel-release.noarch -y

 额外源安装好后,在安装nginx

 yum install nginx -y

 yum 安装的nginx的配置文件在/etc/nginx/nginx.conf 默认根目录在 /usr/share/nginx/html 默认日志文件在/var/log/nginx/下

2.编译安装        

可以官网复制下载链接,在linux中使用 wget下载,或者在浏览器上下载后,直接拖进xshell中也是可以的。

www.nginx.org  免费社区,内有nginx各版本压缩包,也有nginx有关配置详解

这里我们下载1.18.0版本,右击复制链接,在linux中下载,

安装依赖包

yum -y install gcc pcre-devel openssl-devel zlib-devel openssl  openssl-devel

新建nginx用户便于管理

useradd -M -s /sbin/nologin nginx

tar xf 解压

cd 进入

./configure 进行编译安装,后面加上需要的模块

./configure --help  可以查看模块帮助

./configure --prefix=/apps/nginx \     
--user=nginx \                                         
--group=nginx \                    
--with-http_ssl_module \            
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module

make && make install   执行该命令

修改权限

chown -R nginx.nginx /apps/nginx

编译安装完成 切换到/apps/nginx查看

  1. conf:保存nginx所有的配置文件,其中nginx.conf是nginx服务器的最核心最主要的配置文件,其他的.conf则是用来配置nginx相关的功能的,例如fastcgi功能使用的是fastcgi.conf和fastcgi_params两个文件,配置文件一般都有个样板配置文件,是文件名.default结尾,使用的使用将其复制为并将default去掉即可。

  2. html目录中保存了nginx服务器的web文件,但是可以更改为其他目录保存web文件,另外还有一个50x的web文件是默认的错误页面提示页面。

  3. logs:用来保存nginx服务器的访问日志错误日志等日志,logs目录可以放在其他路径,比如/var/logs/nginx里面。

  4. sbin:保存nginx二进制启动脚本,可以接受不同的参数以实现不同的功能。

启动nginx

这时候已经可以启动nginx了,使用绝对路径可以启动, /apps/nginx/sbin/nginx , 但这样太过于麻烦,这未免可以做软连接, ln -s /apps/nginx/sbin/nginx /usr/sbin  这样可以直接 使用 nginx 启动  停止则使用 killall nginx

我们可以创建自启动文件,使用system启动

创建文件

vim /usr/lib/systemd/system/nginx.service

写入配置文件

[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/apps/nginx/logs/nginx.pid
#注意文件位置,如果不对 启动不了
ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
#注意启动文件位置
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target

:wq 保存退出

systemctl daemon-reload 
重新加载配置

systemctl enable --now nginx
开机自启并立即启动    如果卡主是应为logs下有 nginx.pid  文件  删除即可

systemctl start nginx 启动nginx

nginx 常用选项   

nginx -t 检查语法  

nginx -v  查看版本

nginx -V 查看版本(更详细,可以看到所安装的模块)

nginx -s reload 不关闭nginx 重新读取配置文件

nginx -s reopen 重新生成日志

nginx -s stop 立即停止nginx

nginx -s quit  优雅退出, 不影响业务的情况下

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

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

相关文章

nacos开启鉴权+springboot配置用户名密码

nacos默认没有开启鉴权,springboot无需用户名密码即可连接nacos。从2.2.2版本开始,默认控制台也无需登录直接可进行操作。 因此本文记录一下如何开启鉴权,基于nacos2.3.0版本。 编辑nacos服务端的application.properties: # 开…

visual studio2019怎么修改字体

点击菜单栏中的“工具” “选项” 环境 -> 字体和颜色 Consolas是vscode的默认字体,还挺好用的。

2024.2.28 网络

思维导图 整理面试题 1、什么是回调函数 答:将函数作为参数传到另一个函数里面,当那个函数执行完之后,再执行传进去的这个函数。这个过程就叫做回调。 2、结构体和共用体的区别 答:结构体的每个成员都会分配内存,…

阿里云启动实例进入了急救模式解决办法

相关文档 问题描述 通过远程连接软件无法登录Linux实例,通过使用管理终端连接Linux实例远程连接时,发现系统进入到急救模式(emergency mode),且出现报错。 CentOS实例报如下错误。 systemctl default to try again…

Visio使用笔记

记录一下需要的常用操作 圆角矩形的弧度调整 如果一开始创建的是圆角矩形,可以菜单栏先改为矩形 取消箭头的对齐吸附 alt F9,取消勾选 忘记快捷键,可以菜单栏找到视图,点击视觉帮助右下角的小箭头,引出上面的界面…

字符函数与字符串函数(上)

个人主页(找往期文章包括但不限于本期文章中不懂的知识点):我要学编程(ಥ_ಥ)-CSDN博客 目录 strlen的使用与模拟实现 函数原型: strlen的使用 strlen的模拟使用 strcpy的使用与模拟实现 函数原型: strcpy的使…

编译 qsqlmysql.dll QMYSQL driver not loaded

Qt 连接MySQL数据库,没有匹配的qsqlmysql.dll, 需要我们跟进自己Mysql 以及QT版本自行编译的。异常如下图: 安装环境为 VS2019 Qt5.12.12(msvc2017_64、以及源码) 我的安装地址:D:\Qt\Qt5.12.12 Mysql 8.1.0 默认安…

光谱数据处理:1.特征波长优选的不同方法与Python实现

首先,我们要理解为什么要对“光谱数据进行特征波长优选”以及这是在干嘛,光谱数据可以想象成一长串的彩色条纹,每种颜色对应一个波长,就像彩虹一样。这些颜色的条纹代表了从某种物质(比如植物、矿石或是食品&#xff0…

线程安全的集合容器

线程安全的集合容器 List集合中的线程安全的集合容器: 在旧版本中Vector是线程安全的集合容器,在JDK 1.5以后CopyOnWriteArrayList也是线程安全的集合容器,CopyOnWriteArrayList的数据结构是Object类型的数组。 CopyOnWriteArrayList是如何…

基于JAVA的毕业设计分配选题系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 专业档案模块2.2 学生选题模块2.3 教师放题模块2.4 选题审核模块 三、系统展示四、核心代码4.1 查询专业4.2 新增专业4.3 选择课题4.4 取消选择课题4.5 审核课题 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpri…

事物管理(黑马学习笔记)

事物回顾 在数据库阶段我们已学习过事务了,我们讲到: 事物是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体,一起向数据库提交或者是撤销操作请求。所以这组操作要么同时成功,要么同时…

SZTU抢课脚本python

声明:这篇代码是我基于我向我的部长学习的,带有一些理解和稍微一丢丢的改善,就是把他的一些模块套入到循环里这样可以一次性枪很多课,不过写的不是并发的所以会有顺序导致的无法同时抢很多课,而是抢完一个又一个 在这里也附上大佬…