本文基于Ubuntu1.20中nginx1.24版本的实操 不同系统使用不同包管理器下载的nginx不一致,同时手动安装的nginx也会和包管理提供的不一致,文件夹会存在不一致,默认配置也会有所不同

一个最简单的网页,只需要一个运行的服务端口即可,将其填入到 proxy 的位置将 server name 变换一下即可,同时不要忘了既在 site-available 写,又在 enable 中进行软链接

/usr/share/nginx/html:实际的网页内容,默认情况下只包含您之前看到的默认 Nginx 页面,由 /usr/share 提供/nginx/html 目录。这可以通过更改 Nginx 配置文件来更改。
服务器配置(这些会因你安装的方式不同而不同,包管理器默认使用该位置)
/etc/nginx:Nginx配置目录。所有 Nginx 配置文件都驻留在此处。
/etc/nginx/nginx.conf:主要的Nginx配置文件。这可以修改以更改 Nginx 全局配置。
/etc/nginx/conf.d/:此目录包含服务器块配置文件,您可以在其中定义托管在 Nginx 中的网站。一种典型的方法是将每个网站放在一个单独的文件中,该文件以网站的域名命名,例如 your_domain.conf。
服务器日志
/var/log/nginx/access.log:对您的网络服务器的每个请求都会记录在此日志文件中,除非 Nginx 配置为不这样做。
/var/log/nginx/error.log:任何 Nginx 错误都将记录在此日志中。

使用 Nginx 网络服务器时,服务器块(类似于 Apache 中的虚拟主机)可用于组织配置详细信息并从一台服务器托管多个域。在Ubuntu1.20 上,服务器块在位于 /etc/nginx/conf.d.conf 文件中定义。 Nginx 配置为从位于 /usr/share/nginx/html 的目录中提供文档。这适用于单个站点,但如果托管多个站点,它会变得难以管理。您无需修改 /usr/share/nginx/html ,而是在 /var/www 中为 your_domain 网站创建一个目录结构,留下 /usr/ share/nginx/html 作为客户端请求与任何其他站点不匹配时要提供的默认目录。

# nginx运行的用户名
user nginx;
# nginx启动进程,通常设置成和cpu的数量相等,这里为自动
worker_processes auto;

# errorlog文件位置
error_log /var/log/nginx/error.log;
# pid文件地址,记录了nginx的pid,方便进程管理
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
# 用来加载其他动态模块的配置
include /usr/share/nginx/modules/*.conf;

# 工作模式和连接数上限
events {
	# 每个worker_processes的最大并发链接数
	# 并发总数:worker_processes*worker_connections
	worker_connections 1024;
}

# 与提供http服务相关的一些配置参数类似的还有mail
http {
	# 设置日志的格式
	log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
					  '$status $body_bytes_sent "$http_referer" '
					  '"$http_user_agent" "$http_x_forwarded_for"';

	# access_log记录访问的用户、页面、浏览器、ip和其他的访问信息
	access_log  /var/log/nginx/access.log  main;

	# 这部分下面会单独解释
	# 设置nginx是否使用sendfile函数输出文件
	sendfile            on;
	# 数据包最大时发包(使用Nagle算法)
	tcp_nopush          on;
	# 立刻发送数据包(禁用Nagle算法)
	tcp_nodelay         on;
	# 链接超时时间
	keepalive_timeout   65;
	# 这个我也不清楚...
	types_hash_max_size 2048;

	# 引入文件扩展名与文件类型映射表
	include             /etc/nginx/mime.types;
	# 默认文件类型
	default_type        application/octet-stream;

	# Load modular configuration files from the /etc/nginx/conf.d directory.
	# See http://nginx.org/en/docs/ngx_core_module.html#include
	# for more information.
	include /etc/nginx/conf.d/*.conf;

	# http服务上支持若干虚拟主机。
	# 每个虚拟主机一个对应的server配置项
	# 配置项里面包含该虚拟主机相关的配置。
	server {
		# 端口
		listen       80 default_server;
		listen       [::]:80 default_server;
		# 访问的域名
		server_name  _;
		# 默认网站根目录(www目录)
		root         /usr/share/nginx/html;

		# Load configuration files for the default server block.

		include /etc/nginx/default.d/*.conf;

		# 默认请求
		location / {
		}

		# 错误页(404)
		error_page 404 /404.html;
			location = /40x.html {
		}

		# 错误页(50X)
		error_page 500 502 503 504 /50x.html;
			location = /50x.html {
		}
	}
}