本文基于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 {
}
}
}