Nginx 基础教程(一)建立一个网站

本文共计 913 字,预计阅读 24 分钟

文章目录

鉴于毕竟多数 Nginx 用户对基本配置项的理解几乎为 0,还是决定来写一些基础的东西。遂有了这个 Nginx 基础教程
系列。本文介绍用 Nginx 建立一个网站所需要的最基本的配置项。

Nginx 的配置文件构成

Nginx 的默认配置文件一般为 nginx.conf
,这个文件内你需要写入 Nginx 的最基本的运行配置,这个文件也被称作 Nginx 的 全局配置文件
。这个文件内的配置对整个 Nginx 生效,且实际上 Nginx 只会读取这个文件内包括的配置,它是 Nginx 的唯一配置文件,其它的配置文件都需要使用 include 来引入。

与之对应的,有另外一个概念,叫做 站点配置文件
。这个文件一般可有可无。文件名可以随意,可以命名为例如 website.conf
。如果要使用额外的配置文件,需要在全局配置文件 nginx.conf 的 http 段配置中写入下面这行,来将这个配置导入到 Nginx:

http {
	...
	include website.conf;
}

全局配置

上文已提到,nginx.conf 是全局配置文件。这个文件需要至少包括下列配置项:

# 运行 Nginx 的用户组和用户名。一般不建议使用 root 账户,可以另外创建一个 www www 用户
user				www www;
# 运行 Nginx 的进程数,可以设置为 CPU 核心数。我建议指定为 auto 自动
worker_processes	auto;
# 错误日志的生成路径和记录等级
error_log			/home/nginx/logs/error.log crit;
# 运行 Nginx 的 pid 生成路径
pid					/home/nginx/sbin/nginx.pid;
# 最大访问文件数限制
worker_rlimit_nofile  2048;

events
	{
		# Nginx 使用的事件模型,有其它值例如 kqueue 等。一般保持这个值为 epoll 即可
		use					epoll;
		#单个 worker process 进程的最大并发链接数。所以 Nginx 最大总连接数 = [worker_processes * worker_connections]
		worker_connections	2048;
	}

http
	{
		# Nginx 的默认指定文件类型名称的配置文件
		include			mime.types;
		# Nginx 的默认文件类型
		default_type	application/octet-stream;

		# 导入你的站点配置文件
		include			website.conf;
}

站点配置

那么接下来就要写站点配置了,这里面包括了你要建立的网站的配置项。本文按照 HTTP 和 HTTPS 列举出两种最基本的站点配置。

HTTP

server
	{
		# Nginx 的监听端口,其实可以随意。这里只是因为 HTTP 站点访问默认是 80 端口
		listen  80;

		# 你的网站的文件的所在根路径,使用绝对路径
		root    /home/site;

		# 访问地址未指定要访问的文件名时,默认访问的文件名
		# 例如访问某网站首页,这个 index.php 就是首页的文件
		index   index.php;

		# 访问日志的生成路径
		access_log   /home/nginx/access-log;

		# 你网站要使用的域名
		server_name  example.example.com;
}

HTTPS

server
	{
		# Nginx 的监听端口,其实可以随意。这里只是因为 HTTPS 站点访问默认是 443 端口
		listen  443;

		# 你的网站的文件的所在根路径,使用绝对路径
		root    /home/site;

		# 访问地址未指定要访问的文件名时,默认访问的文件名
		# 例如访问某网站首页,这个 index.php 就是首页的文件
		index   index.php;

		# 访问日志的生成路径
		access_log   /home/nginx/access-log;

		# 你网站要使用的域名
		server_name  example.example.com;

		# 下面是指定 SSL 的相关配置,均是必填项目

		# 使用的 TLS 版本
		ssl_protocols  TLSv1.1 TLSv1.2;

		# SSL 站点证书的所在路径,使用绝对路径
		ssl_certificate      /home/crt/example.cer;

		# SSL 站点证书密钥的所在路径,使用绝对路径
		ssl_certificate_key  /home/crt/example.key;
}
稿源:南琴浪博客 (源链) | 关于 | 阅读提示

本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 后端存储 » Nginx 基础教程(一)建立一个网站

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录