首页 > 系统相关 >Nginx基础篇:Nginx搭建、Nginx反向代理、文件服务器部署配置。

Nginx基础篇:Nginx搭建、Nginx反向代理、文件服务器部署配置。

时间:2024-01-06 10:34:25浏览次数:40  
标签:文件 autoindex nginx 代理服务器 Nginx html 反向 服务器

(Nginx Linux系统安装以及反向代理的配置)

简介

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。 其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2022年01月25日,nginx 1.21.6发布。 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

优点

Nginx 可以在大多数 Unix Linux OS 上编译运行,并有 Windows 移植版。 Nginx 的1.20.0稳定版已经于2021年4月20日发布,一般情况下,对于新建站点,建议使用最新稳定版作为生产版本,已有站点的升级急迫性不高。Nginx 的源代码使用 2-clause BSD-like license。 Nginx 是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性: 在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数的响应,感谢Nginx为大家选择了 epoll and kqueue作为开发模型。

Nginx作为负载均衡服务:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP代理服务对外进行服务。Nginx采用C进行编写,不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。 处理静态文件,索引文件以及自动索引;打开文件描述符缓冲。 无缓存的反向代理加速,简单的负载均衡和容错。 FastCGI,简单的负载均衡和容错。 模块化的结构。包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。如果由 FastCG或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待。 支持 SSL 和 TLSSNI。

Nginx代码完全用C语言从头写成,已经移植到许多体系结构和操作系统,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX以及Microsoft Windows。Nginx有自己的函数库,并且除了zlib、PCRE和OpenSSL之外,标准模块只使用系统C库函数。而且,如果不需要或者考虑到潜在的授权冲突,可以不使用这些第三方库。 代理服务器 作为邮件代理服务:Nginx 同时也是一个非常优秀的邮件代理服务(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。 Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。如果还能够不间断服务的情况下进行软件版本的升级。

nginx 环境

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

Nginx下载地址 在这里插入图片描述 如果支持rz 命令的画 可以输入rz命令 在这里插入图片描述 如果不支持的话可以使用 wget 命令 右键图一 你所需要的版本(我这边选择的是 tar.gz) 然后 选择复制连接(谷歌浏览器)

wget https://nginx.org/download/nginx-1.17.0.tar.gz在这里插入图片描述

安装

运行以下命令

解压
tar -zxvf nginx-1.17.0.tar.gz
进入nginx 目录
cd nginx-1.17.0  
配置 编译后的文件路径
./configure --prefix=/usr/nginx
编译
make && make install

在这里插入图片描述 编译过后就可以看到 多了一个nginx 文件夹 下面是nginx 文件夹 的目录结构 在这里插入图片描述

进入nginx 目录
cd /usr/nginx
检查nginx 是否安装成功
./sbin/nginx -t

在这里插入图片描述

常用Nginx 命令

nginx             # 启动 Nginx
nginx -s reload            # 重新载入配置文件
nginx -s reopen            # 重启 Nginx
nginx -s stop              # 停止 Nginx

nginx 文件服务器搭建

autoindex on;            # 显示目录
autoindex_exact_size on; # 显示文件大小
autoindex_localtime on; # 显示文件时间
charset utf-8;                          # 中文名的文件不乱码. 
-----------------------
http {
    autoindex on;             # 显示目录
    autoindex_exact_size on;  # 显示文件大小
    autoindex_localtime on;   # 显示文件时间
    charset utf-8;                          # 中文名的文件不乱码. 

    server {
        listen 80                          # 监听端口;
        server_name localhost              # 地址
        charset utf-8;                     # 中文名的文件不乱码. 
        location / {                       # 访问首页路径
            root /xxx/xxx/                 # 根目录
            index index.html index.htm     # 默认文件
        }        
        
        error_page  500 504   /50x.html    # 当出现以上状态码时从新定义到50x.html
        location = /50x.html {             # 当访问50x.html时
            root /xxx/xxx/html             # 50x.html 页面所在位置
        }        
    }
}

标签:文件,autoindex,nginx,代理服务器,Nginx,html,反向,服务器
From: https://blog.51cto.com/u_16392500/9125336

相关文章

  • NGINX文件名漏洞(CVE-2013-4547)
    影响版本Nignx0.8.41~1.4.3/1.5.0~1.5.7漏洞原因由于nginx的版本原因+运维人的问题导致,其实和低版本nginx漏洞问题差不大多,也属于nginx解析漏洞的一种复现nginx版本上传文件-给文件名添加空格和php代码直接访问图片-失败恶意访问-成功修改请求找到两个空格(......
  • nginx低版本文件解析漏洞
    nginx低版本设计问题,会将图片解析成php文件复现查看nginx版本,符合低版本特征接下来我们随便上传一个图片文件,拦截这个请求,并且添加php代码。图片上传成功访问这个文件-可以正常访问接下来我们恶意访问,发现php代码被执行。......
  • # 公用服务器配置个人工作仓库
    公用服务器配置个人工作仓库有一些服务器需要多个用户进行访问,但是ssh账号和工作空间又只有一个,同时又不希望和这个ssh账号下的所有用户共享git账号,可以通过配置代码库本地ssh密钥以实现工作空间隔离。生成并配置密钥首先登录服务器,进入路径~/.ssh输入以下命令以生成ssh......
  • Nginx Rewrite 对 “空” 和 “杠” 的处理
    在/usr/share/nginx/html目录下有个一index.html文件。1、常规需求配置http://www.abc.com/html/xxx的请求全部在/usr/share/nginx/html目录下寻找资源server{listen80;server_namewww.abc.com;location/html{root/usr/share/nginx;}}这......
  • 无涯教程-Redis - 服务器命令
    Redis服务器命令基本上用于管理Redis服务器。Server-示例以下示例说明了如何获取有关服务器的所有统计信息和信息。redis127.0.0.1:6379>INFO#Serverredis_version:2.8.13redis_git_sha1:00000000redis_git_dirty:0redis_build_id:c2238b38b1edb0e2redi......
  • openEuler欧拉使用sshpass不输入密码远程登录其他服务器
    ​​ssh登陆不能在命令行中指定密码,sshpass的出现则解决了这一问题。用-p参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。操作步骤:一、关闭防火墙systemctlstopfirewalldsystemctldisablefirewalld二、安装sshpassdnf-yinstall......
  • 浪潮服务器某根内存容量减半-32G变成16G
    服务器某根内存条内存容量减半;内存配置:32G*16根问题:CPU0_C2D0槽位内存显示为16G型号:三星32GDDR43200MHz 停机更换后恢复正常......
  • pytorch反向传播错误解决:RuntimeError: Trying to backward through the graph a seco
    pytorch反向传播错误解决:错误:RuntimeError:Tryingtobackwardthroughthegraphasecondtime,butthebuffershavealreadybeenfreed.Specifyretain_graph=Truewhencallingbackwardthefirsttime.归因排查:出现这种错误有可能是反向传播过程中出现了二次传播,......
  • 恒创科技:服务器无法访问怎么解决?
    ​有时,在某些网站、某些应用程序上会遇到服务器不可用或服务器无法访问等问题。那么服务器无法访问意味着什么以及我们如何解决这个问题?服务器无法访问是什么意思?“服务器无法访问”通常意味着网络客户端(例如计算机或移动设备)无法与服务器建立连接,原因可能是服......
  • Nginx转发解析长域名多路径域名
    ​Nginx解析短域名,例如:访问http://192.168.1.23可直接跳转到http://192.168.1.23/webroot/decisionserver{listen90;server_namelocalhost;#匹配/转到/webroot/decision上;#^(.*)$表示/后任意部分,除非和其他location匹配否则一律转向/webroot/dec......