nginx 一、安装与conf浅析


Nginx(发音为“engine-x”)是一款开源的高性能Web服务器和反向代理服务器。它由俄罗斯的工程师Igor Sysoev创建,并于2004年首次发布。

Nginx的设计目标是提供高性能、可靠性和扩展性。相比传统的Web服务器,如Apache,Nginx在处理静态文件和高并发请求方面表现更出色。它采用事件驱动的异步架构,有效地管理系统资源,使得在大量并发连接时仍能保持低内存消耗和高吞吐量。

Nginx还支持作为反向代理服务器的功能,可以将客户端请求转发到后端的多个服务器上,实现负载均衡和高可用性。此外,Nginx具有强大的扩展性,支持丰富的第三方模块,可以根据需要添加额外的功能,如缓存、SSL/TLS加密、HTTP/2协议支持等。

Nginx在互联网企业和网站中被广泛应用,包括大型门户网站、电子商务平台、内容分发网络(CDN)等。由于其出色的性能和可靠性,Nginx已成为构建高性能和可扩展的Web应用程序的首选服务器之一。

总之,Nginx以其高性能、低资源消耗和强大的扩展性而受到广泛欢迎,是现代Web服务器和反向代理服务器的重要选择。

一、安装nginx

docker方式安装

docker search nginx
docker pull nginx
# 创建一个nginx目录,用于挂载nginx容器中的配置文件
cd /home/test
mkdir nginx
cd nginx
mkdir conf
mkdir log
mkdir html
docker run -d -p 80:80 --name nginx --restart=always  nginx
docker ps
docker cp nginx:/etc/nginx/nginx.conf /home/test/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d /home/test/nginx/conf/conf.d
docker cp nginx:/usr/share/nginx/html /home/test/nginx/

在这里插入图片描述

docker rm -f nginx
# 重新启动容器
docker run -d -p 80:80 --name=nginx --privileged=true -v /home/test/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/test/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/test/nginx/log:/var/log/nginx -v /home/test/nginx/html:/usr/share/nginx/html nginx
# 测试nginx启动是否成功
curl 127.0.0.1:80

在这里插入图片描述

linux方式安装

Ubuntu 或 Debian 系统:

使用 apt 包管理器进行安装:

sudo apt update
sudo apt install nginx

安装完成后,可以使用以下命令启动 Nginx:

sudo systemctl start nginx

CentOS 或 RHEL 系统:

使用 yum 包管理器进行安装:

sudo yum install epel-release
sudo yum install nginx

安装完成后,可以使用以下命令启动 Nginx:

sudo systemctl start nginx

macOS 系统(使用 Homebrew):

安装 Homebrew(如果尚未安装):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

使用 brew 包管理器安装 Nginx:

brew install nginx

安装完成后,可以使用以下命令启动 Nginx:

brew services start nginx

Windows 系统:

下载 Nginx 的 Windows 版本,并解压缩到目标文件夹。
在解压后的文件夹中,运行 nginx.exe 来启动 Nginx。

二、nginx.conf浅析

# 设置Nginx工作进程所运行的用户。
user nginx; 
# 根据CPU核心数量自动设置工作进程的数量。默认1
worker_processes auto;
# 指定错误日志文件的路径和日志级别。
error_log  /var/log/nginx/error.log notice;  
# 指定主Nginx进程的PID文件路径。
pid        /var/run/nginx.pid; 

# 每个进程创建的连接数,默认1024
events{
	worker_connections 1024;
}

http{
	# mime.types是一个文件,包含着请求头的各种文件类型html、txt、mp4、jpg等等,可以在文件中配置增加请求头类型
	# include 将一个配置文件引入到当前配置文件中
	include /etc/nginx/mime.types;
	# 如果mime.types中没有请求头类型,默认使用二进制流
	default_type application/octet-stream;
	
	# 定义访问日志的格式。
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';  
                      
	# 开启通过sendfile系统调用来发送文件。
	sendfile on;
	# 保持长连接
	keepalive_timeout 65;

    # 指定访问日志文件的路径和使用的日志格式。
    access_log  /var/log/nginx/access.log  main;  
    # 包含"/etc/nginx/conf.d/"目录下的所有配置文件。               
    include /etc/nginx/conf.d/*.conf;  

}

可在http中增加server,配置代理内容,server内容格式示例如下:

	# 主机,可以多个主机(server)
	server{
		# 监听端口号,每个server的端口号不一样
		listen 80;
		# 域名、主机名
		server_name localhost;
		
		# 域名后的目录、路径uri
		location /{
			# 匹配的相对路径
			root html;
			index index.html index.htm;
		}

		# 报错页面转向到/50x.html地址
		error_page 500 502 503 504 /50x.html;
		location = /50x.html {
			root html;
		}
	}
  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈年小趴菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值