Centos7安装配置nginx

快捷查看指令 ctrl+f 进行搜索会直接定位到需要的知识点和命令讲解(如有不正确的地方欢迎各位小伙伴在评论区提意见,小编会及时修改)

Centos7安装配置nginx

Nginx介绍

在这里插入图片描述

Nginx (engine x) 是一个高性能的 HTTP反向代理 服务,也是一个IMAP/POP3/SMTP服务。因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好
在高连接并发的情况下,Nginx是Apache服务器不错的替代品。

nginx的优点:
Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性:
单机环境下参考服务器配置。 并发连接数在7000+ -8000左右。 集群模式20000+
作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应。
作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perl要好的多。
作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。
Nginx 安装非常的简单,配置文件 非常简洁(还能够支持perl语法),Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在 不间断服务的情况下进行软件版本的升级。

Nginx安装部署和配置管理

  1. 安装运行环境
yum install -y zlib zlib-devel openssl openssl-devel pcre pcer-devel wget httpd-tools vim gcc gcc-c++
  1. 下载源代码
    在这里提供下载网站:
    nginx官方网站:http://nginx.org/
    阿里nginx网站:http://tengine.taobao.org
[root@localhost tmp]# wget https://tengine.taobao.org/download/tengine-2.4.1.tar.gz #使用阿里下载源下载会快一点(更换yum源可以查看博主之前的文章)

这里提供一下博主之前的更换yum源的文章:
Linux中的软件安装与管理

  1. 解压源码安装包
https://blog.csdn.net/weixin_52198548/article/details/134253407?spm=1001.2014.3001.5501
[root@localhost tengine-2.4.1]# ll
总用量 404
-rw-rw-r--  1 root root    931 69 12:47 AUTHORS.te
drwxrwxr-x  6 root root   4096 69 12:47 auto       	 检测系统模块依赖
-rw-rw-r--  1 root root 317572 69 12:47 CHANGES      存放nginx的变化记录日志
-rw-rw-r--  1 root root  28179 69 12:47 CHANGES.cn
-rw-rw-r--  1 root root  36025 69 12:47 CHANGES.te
drwxrwxr-x  2 root root    184 69 12:47 conf         存放nginx主配置文件
-rwxrwxr-x  1 root root   2502 69 12:47 configure    可执行的脚本,用于存放编译文件
drwxrwxr-x  4 root root    109 69 12:47 contrib      提供一些好用的插件
drwxrwxr-x  4 root root     67 69 12:47 docs
drwxrwxr-x  2 root root     40 69 12:47 html
-rw-rw-r--  1 root root   1715 69 12:47 LICENSE
drwxrwxr-x  2 root root     21 69 12:47 man
drwxrwxr-x 27 root root   4096 69 12:47 modules
drwxrwxr-x  3 root root     20 69 12:47 packages
-rw-rw-r--  1 root root   3446 69 12:47 README.markdown
drwxrwxr-x 10 root root    103 69 12:47 src
drwxrwxr-x  4 root root     43 69 12:47 tests
-rw-rw-r--  1 root root     43 69 12:47 THANKS.te
  1. 执行编译脚本,配置信息
[root@localhost tengine-2.4.1]# ./configure --prefix=/tmp/tngx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module --with-threads --with-file-aio
--prefix=path
nginx 程序目录。默认值:/usr/local/nginx。

--conf-path=path
nginx 配置文件的名称。默认值:<prefix>/conf/nginx.conf。但是,在启动时通过 -c filename 指定的配置文件优先级最高。

--sbin-path=path
nginx 可执行文件的名称,仅在安装期间使用。默认值:<prefix>/sbin/nginx。

安装后可在配置文件中更改项
--pid-path=path
nginx.pid 文件的名称。默认值:<prefix>/logs/nginx.pid。安装后,可以使用 nginx.conf 中的 pid 指令更改。

--error-log-path=path
错误日志文件的名称。默认值:<prefix>/logs/error.log。安装后,可以使用 nginx.conf 中的 error_log 指令更改。

--http-log-path=path
HTTP 服务器的主请求日志文件的名称。默认值:<prefix>/logs/access.log。安装后,可以使用 nginx.conf 中的 access_log 指令更改。

--lock-path=path
为锁定文件的名称设置前缀。默认值:<prefix>/logs/nginx.lock。安装后,可以使用 nginx.conf 中的 lock_file 指令更改。

--user=name
nginx 运行用户。默认值:nobody。安装后,可以使用 nginx.conf 中的 user 指令更改。

--group=name
nginx 运行组。默认值:--user 指定的值。安装后,可以使用 nginx.conf 中的 user 指令更改。

--http-client-body-temp-path=path
定义用于存储包含客户端请求正文的临时文件的目录。默认值:<prefix>/client_body_temp。安装后,可以使用 nginx.conf 中的 client_body_temp_path 指令更改。

--http-proxy-temp-path=path
定义用于存储包含从代理服务器接收到的数据的临时文件。默认值:<prefix>/proxy_temp。安装后,可以使用 nginx.conf 中的 proxy_temp_path 指令更改。

--http-fastcgi-temp-path=path
定义用于存储包含从 FastCGI 服务器接收到的数据的临时文件。默认值:<prefix>/fastcgi_temp。安装后,可以使用 nginx.conf 中的 fastcgi_temp_path 指令更改。

--http-uwsgi-temp-path=path
定义用于存储带有从 uwsgi 服务器接收到的数据的临时文件。默认值:<prefix>/uwsgi_temp。安装后,可以使用 nginx.conf 中的 uwsgi_temp_path 指令更改。

--http-scgi-temp-path=path
定义用于存储包含从 SCGI 服务器接收到的数据的临时文件。默认值:<prefix>/scgi_temp。安装后,可以使用 nginx.conf 中的 scgi_temp_path 指令更改。

默认构建的模块
--without-http_charset_module
禁用 ngx_http_charset_module 模块,该模块将指定的字符集添加到 “Content-Type” 响应头字段中,还可以将数据从一种字符集转换为另一种字符集,但有一些限制。

--without-http_gzip_module
禁用 ngx_http_gzip_module 模块。

--without-http_ssi_module
禁用 ngx_http_ssi_module 模块。该模块用于处理通过它的响应中的 SSI(服务器端包含)命令。

--without-http_userid_module
禁用 ngx_http_userid_module 模块,该模块设置适用于客户端标识的 cookie。

--without-http_access_module
禁用 ngx_http_access_module 模块,该模块允许限制对某些客户端地址的访问。

--without-http_auth_basic_module
禁用 ngx_http_auth_basic_module 模块,该模块允许通过使用 “HTTP Basic Authentication” 协议验证用户名和密码来限制对资源的访问。

--without-http_mirror_module
禁用 ngx_http_mirror_module 模块。

--without-http_autoindex_module
禁用 ngx_http_autoindex_module 模块。该模块处理以斜杠字符 “/” 结尾的请求,并生成目录列表。

--without-http_geo_module
禁用 ngx_http_geo_module 模块,该模块使用取决于客户端 IP 地址的值来创建变量。

--without-http_map_module
禁用 ngx_http_map_module 模块,该模块创建的变量的值取决于其他变量的值。

--without-http_split_clients_module
禁用 ngx_http_split_clients_module 模块,该模块创建用于 A/B 测试的变量。

--without-http_referer_module
禁用 ngx_http_referer_module 模块,该模块可以阻止对 “Referer” 标头字段中具有无效值的请求的站点访问。

--without-http_rewrite_module
禁用 URL 转发(rewrite)。

--without-http_proxy_module
禁用 HTTP 服务器代理(proxy)模块。

--without-http_fastcgi_module
禁用 ngx_http_fastcgi_module 模块。该模块允许将请求传递到 FastCGI 服务器。

--without-http_uwsgi_module
禁用 ngx_http_uwsgi_module 模块。该模块允许将请求传递到 uwsgi 服务器。

--without-http_scgi_module
禁用 ngx_http_scgi_module 模块。该模块允许将请求传递到 SCGI 服务器。

--without-http_grpc_module
禁用 ngx_http_grpc_module 模块。该模块允许将请求传递到 gRPC 服务器。

--without-http_memcached_module
禁用 ngx_http_memcached_module 模块,该模块用于从内存缓存服务器(memcached)获取响应。

--without-http_limit_conn_module
禁用 ngx_http_limit_conn_module 模块,该模块限制每个键的连接数,特别是来自单个 IP 地址的连接数。

--without-http_limit_req_module
禁用 ngx_http_limit_req_module 模块,该模块用于限制每一个定义的密钥的请求的处理速率,特别是从一个单一的 IP 地址的请求的处理速率。

--without-http_empty_gif_module
禁用生成发射单像素透明 GIF 的模块。

--without-http_browser_module
禁用 ngx_http_browser_module 模块,该模块创建变量,创建变量,其值取决于 “User-Agent” 请求标头字段的值。

--without-http_upstream_hash_module
禁用 hash 负载平衡方法的模块。

--without-http_upstream_ip_hash_module
禁用 ip_hash 负载平衡方法的模块。

--without-http_upstream_least_conn_module
禁用 least_conn 负载平衡方法的模块。

--without-http_upstream_keepalive_module
禁用提供到 upstream 内服务器连接缓存的模块。

--without-http_upstream_zone_module
禁用可以将 upstream 的运行时状态存储在共享内存区域中的模块。

--without-http
禁用 HTTP 服务器。

--without-http-cache
禁用 HTTP 缓存。
--with-select_module
启用 select() 方法的模块。

--with-poll_module
启用 poll() 方法的模块。

--with-threads
启用线程池的使用。

--with-file-aio
启用异步文件I/O(AIO)。

--with-http_ssl_module
启用 HTTPS 协议支持,需要 OpenSSL 库。默认情况下未构建此模块。

--with-openssl=path
设置 OpenSSL 库源的路径。

--with-openssl-opt=parameters
为 OpenSSL 设置其他构建选项。

--with-http_v2_module
启用 HTTP/2 协议支持。默认情况下未构建此模块。

--with-http_realip_module
启用 ngx_http_realip_module 模块的功能,该模块将客户端地址更改为在指定的 "header " 字段中发送的地址。默认情况下未构建此模块。

--with-http_addition_module
启用 ngx_http_addition_module 模块,该模块可在响应之前和之后添加文本。默认情况下未构建此模块。

--with-http_sub_module
启用 ngx_http_sub_module 模块,该模块通过将一个指定的字符串替换为另一个指定的字符串来修改响应。默认情况下未构建此模块。

--with-http_dav_module
启用 ngx_http_dav_module 模块,该模块通过 WebDAV 协议提供文件管理自动化。默认情况下未构建此模块。

--with-http_flv_module
启用 ngx_http_flv_module 模块,该模块为 Flash Video (FLV) 文件提供伪流服务器端支持。默认情况下未构建此模块。

--with-http_mp4_module
启用 ngx_http_mp4_module 模块,该模块为 MP4 文件提供伪流服务器端支持。默认情况下未构建此模块。

--with-http_gunzip_module
对于不支持 “gzip” 的客户端,启用 ngx_http_gunzip_module 模块,使用 “Content-Encoding: gzip” 解压缩响应。默认情况下未构建此模块。

--with-http_gzip_static_module
启用 ngx_http_gzip_static_module 模块,该模块支持发送扩展名为 “.gz” 的预压缩文件,而不是常规文件。默认情况下未构建此模块。

--with-http_auth_request_module
启用 ngx_http_auth_request_module 模块,该模块基于子请求的结果实现客户端授权。默认情况下未构建此模块。

--with-http_random_index_module
启用 ngx_http_random_index_module 模块,该模块处理以斜杠 “/” 结尾的请求,并在目录中选择一个随机文件作为索引文件。默认情况下未构建此模块。

--with-http_secure_link_module
启用 ngx_http_secure_link_module 模块。该模块用于检查请求链接的真实性,保护资源不受未经授权的访问,并限制链接生存期。默认情况下未构建此模块。

--with-http_degradation_module
启用 ngx_http_degradation_module 模块。默认情况下未构建此模块。

--with-http_slice_module
启用 ngx_http_slice_module 模块,该模块将请求拆分为多个子请求,每个子请求都返回一定范围的响应。可为大响应提供更有效的缓存。默认情况下未构建此模块。

--with-http_stub_status_module
启用 ngx_http_stub_status_module 模块,该模块提供对基本状态信息的访问。默认情况下未构建此模块。

--with-http_xslt_module
--with-http_xslt_module=dynamic
启用 ngx_http_xslt_module 模块,该模块是一个过滤器,可使用一个或多个 XSLT 样式表转换 XML 响应。构建和运行此模块需要 libxml2 和 libxslt 库。默认情况下未构建此模块。

--with-http_image_filter_module
--with-http_image_filter_module=dynamic
启用 ngx_http_image_filter_module 模块,该模块可以转换 JPEG,GIF,PNG 和 WebP 格式的图像。构建和运行此模块需要 libgd 库。默认情况下未构建此模块。

--with-http_geoip_module
--with-http_geoip_module=dynamic
启用 ngx_http_geoip_module 模块,该模块根据客户端 IP 地址和预编译的 MaxMind 数据库创建变量。默认情况下未构建此模块。

--with-google_perftools_module
启用 ngx_google_perftools_module 模块,以使用 Google Performance Tools 对 nginx 性能分析。该模块供 ngin 开发人员使用。默认情况下未构建。

--with-cpp_test_module
启用 ngx_cpp_test_module 模块。

--with-compat
启用动态模块兼容性。

--with-cc=path
设置 C 编译器的名称。

--with-cpp=path
设置 C 预处理器的名称。

--with-cc-opt=parameters
设置将添加到 CFLAGS 变量的其他参数。在 FreeBSD 下使用系统 PCRE 库时,应指定
  1. 编译安装
[root@localhost tengine-2.4.1]# make && make install
查看目录
[root@localhost tngx]# ll
总用量 0
drwxr-xr-x 2 root root 333 1122 21:24 conf   存放配置文件
drwxr-xr-x 2 root root  40 1122 21:24 html   存放网页根目录文件以及静态资源
drwxr-xr-x 2 root root   6 1122 21:24 logs   存放日志文件
drwxr-xr-x 2 root root  19 1122 21:24 sbin   存放可执行文件(命令)
  1. 开启nginx
进入sbin目录下
[root@localhost sbin]# ./nginx   #开启nginx

[root@localhost sbin]# ./nginx -s stop  #关闭nginx

[root@localhost sbin]# ./nginx -s reload  #平滑重启(不影响当前nginx的运行)
  1. 浏览器访问
    输入地址: http://ip:80 (端口号默认是80)

在这里插入图片描述

  1. 配置nginx全局可用(推荐使用绝对路径,添加软连接后续nginx版本更新[热部署]可能会出问题)
[root@localhost sbin]# ln -s /tmp/tngx/sbin/nginx /usr/sbin/

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

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

相关文章

Spring Security 6.x 系列(6)—— 显式设置和修改登录态信息

一、前言 此篇是对上篇 Spring Security 6.x 系列&#xff08;5&#xff09;—— Servlet 认证体系结构介绍 中4.9章节显式调用SecurityContextRepository#saveContext进行详解分析。 二、设置和修改登录态 2.1 登录态存储形式 使用Spring Security框架&#xff0c;认证成功…

34 - 记一次线上SQL死锁事故:如何避免死锁?

之前我参与过一个项目&#xff0c;在项目初期&#xff0c;我们是没有将读写表分离的&#xff0c;而是基于一个主库完成读写操作。在业务量逐渐增大的时候&#xff0c;我们偶尔会收到系统的异常报警信息&#xff0c;DBA 通知我们数据库出现了死锁异常。 按理说业务开始是比较简…

业务逻辑漏洞

业务逻辑漏洞 扫描器扫不出来 漏洞包括 暴力破解任意用户/密码登陆短信/邮箱轰炸验证码绕过/爆破/重放/回传用户名/手机号枚举(用户名枚举&#xff1a;当用户登录时&#xff0c;显示用户名不存在&#xff0c;或密码不正确&#xff0c;两个其中一个不正确就称为用户名枚举)越…

MySQL系列 - 数据类型

MySQL是一种常用的关系型数据库管理系统&#xff0c;它支持多种数据类型&#xff0c;包括整数、浮点数、字符串、日期和时间等。在本文中&#xff0c;我们将介绍MySQL中常用的数据类型及其用法。 MySQL数据类型介绍&#xff1a; 1、整数类型&#xff1a; MySQL提供了多种整数…

微信小程序 老年人心血管健康知识科普系统

本系统的功能有管理员&#xff1a;个人中心&#xff0c;用户管理&#xff0c;热点信息管理&#xff0c;疾病管理&#xff0c;疾病类型管理&#xff0c;治疗管理&#xff0c;治疗类型管理&#xff0c;护理管理&#xff0c;护理类型管理&#xff0c;科普管理&#xff0c;科普类型…

Elasticsearch 线上实战问题及解决方案探讨

1、reindex相关问题 1.1 问题描述 我有 1tb 的一个大索引若干&#xff0c;要迁移到另外一个新集群去&#xff0c;有没有好办法&#xff1f;reindex好像会中断...... reindex 是不是就算设置了频率也会莫名的中断&#xff0c;而且没地方查到错误&#xff1f;1000多万的数据&…

『 Linux 』进程优先级

文章目录 什么是优先级Linux下的进程优先级PRI与NI使用top查看进程以及对进程的优先级的修改 进程优先级的其他概念竞争性与独立性并发与并行 什么是优先级 优先级,顾名思义,即在同一环境下不同单位对同一个资源的享有顺序; 一般优先级高的单位将优先占有该资源; 在进程当中进…

海翔云平台 getylist_login.do SQL 注入漏洞复现

0x01 产品简介 海翔云平台一站式整体解决方案提供商&#xff0c;业务涵盖 批发、连锁、零售行业ERP解决方案、wms仓储解决方案、电商、外勤、移动终端&#xff08;PDA、APP、小程序&#xff09;解决方案。 0x02 漏洞概述 海翔云平台getylist_login.do接口处存在SQL注入漏洞&am…

wmvcore.dll丢失怎么办?解决电脑出现wmvcore.dll丢失问题5个方法

wmvcore.dll缺失5个解决方法与wmvcore.dll丢失原因及文件介绍 引言&#xff1a; 在日常使用电脑的过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是wmvcore.dll缺失。wmvcore.dll是Windows Media Video编码解码相关动态链接库文件之一&#xff0c;它对…

vue3 element plus 表单验证 数组嵌套对象格式验证 动态验证等

基本结构 model 表单数据对象 rules 验证对象 prop model 的键名 <template><el-form ref"ruleFormRef" :model"ruleForm" :rules"rules"><el-form-item label"手机号" prop"mobile"><el-input v-mod…

使用opencv实现更换证件照背景颜色

1 概述 生活中经常要用到各种要求的证件照电子版&#xff0c;红底&#xff0c;蓝底&#xff0c;白底等&#xff0c;大部分情况我们只有其中一种&#xff0c;本文通过opencv实现证件照背景的颜色替换。 1.1 opencv介绍 OpenCV&#xff08;Open Source Computer Vision Librar…

Java第十二篇:连接安全版kafka(Kerberos认证)出现的问题解答

Could not find a ‘KafkaClient’ entry in the JAAS configuration 问题现象 问题原因 原因没有找到&#xff0c;怎么引起的倒是很清楚。原因就是找到不到指定路径下的kafka_client_jaas.conf文件&#xff0c;别看我的路径带了两个//&#xff0c;但没问题的&#xff0c;等同…

Semaphore源码解析

Semaphore源码解析 文章目录 Semaphore源码解析一、Semaphore二、Semaphore 中 Sync、FairSync、NonfairSync2.1 Sync、FairSync、NonfairSync2.2 NonfairSync 下的 tryAcquireShared()2.3 FairSync下的 tryAcquireShared()2.4 tryReleaseShared() 三、semaphore.acquire()四、…

0 NLP: 数据获取与EDA

0数据准备与分析 二分类任务&#xff0c;正负样本共计6W&#xff1b; 数据集下载 https://github.com/SophonPlus/ChineseNlpCorpus/raw/master/datasets/online_shopping_10_cats/online_shopping_10_cats.zip 样本的分布 正负样本中评论字段的长度 &#xff0c;超过500的都…

工具及方法 - 如何阅读epub文件:使用Adobe Digital Editions

EPUB&#xff08;Electronic Publication的缩写&#xff0c;电子出版&#xff09;是一种电子图书标准&#xff0c;由国际数字出版论坛&#xff08;IDPF&#xff09;提出&#xff1b;其中包括3种文件格式标准&#xff08;文件的扩展名为.epub&#xff09;&#xff0c;这个格式已…

哈希和unordered系列封装(C++)

哈希和unordered系列封装 一、哈希1. 概念2. 哈希函数&#xff0c;哈希碰撞哈希函数&#xff08;常用的两个&#xff09;哈希冲突&#xff08;碰撞&#xff09;小结 3. 解决哈希碰撞闭散列线性探测二次探测代码实现载荷因子&#xff08;扩容&#xff09; 开散列哈希桶代码实现扩…

订单管理系统怎么用?有哪些好用的订单管理系统?

订单管理系统怎么用&#xff1f;有哪些好用的订单管理系统&#xff1f;阅读本文你将了解&#xff1a;1、订单管理系统的核心功能&#xff1b;2、订单管理系统的拓展功能&#xff1b;3、订单管理系统推荐。 订单管理系统在当今商业环境中扮演着至关重要的角色。它是企业内部运营…

UE4 UE5 使用SVN控制

关键概念&#xff1a;虚幻引擎中使用SVN&#xff0c;帮助团队成员共享资源。 1. UE4/UE5项目文件 如果不需要编译的中间缓存&#xff0c;则删除&#xff1a; DerivedDataCache、Intermediate、Saved 三个文件夹 2.更新、上传

GAN:GAN论文学习

论文&#xff1a;https://arxiv.org/pdf/1406.2661.pdf 发表&#xff1a;2014 一、GAN简介&#xff1a;Generative Adversarial Network GAN是由Ian Goodfellow于2014年提出&#xff0c;GAN&#xff1a;全名叫做生成对抗网络。GAN的目的就是无中生有&#xff0c;以假乱真。 …

解决Maven项目jar包下载失败的问题

文章目录 配置国内的Maven源引入正确的settings.xml文件重新下载jar包对后面要创建的新项目也统一配置仍然失败的解决办法 配置国内的Maven源 引入正确的settings.xml文件 如果该目录下的 settings.xml文件不存在或者错误&#xff0c;要创建一个 settings.xml文件并写入正确的…