ubuntu20 部署nginx的步骤
- 首先,确保你的系统完全更新。打开终端并运行以下命令:
sudo apt update sudo apt upgrade
- 添加 Nginx 官方存储库。这将确保你能够安装最新版本的 Nginx。运行以下命令以添加存储库:
sudo apt install curl gnupg2 ca-certificates lsb-release echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/nginx-archive-keyring.gpg
- 更新存储库列表以包含新添加的 Nginx 存储库:
sudo apt update
- 安装 Nginx:
sudo apt install nginx
- 启动 Nginx 服务并将其设置为在开机时启动:
sudo systemctl start nginx sudo systemctl enable nginx
- 验证 Nginx 是否已成功安装并正在运行。运行以下命令以查看 Nginx 服务状态:
sudo systemctl status nginx
如果显示 “active (running)”,则表示 Nginx 已成功安装并正在运行。
ubuntu20 配置nginx转发请求
- 首先,找到 Nginx 配置文件。通常情况下,Nginx 的主配置文件位于
/etc/nginx/nginx.conf
。而站点特定的配置文件通常位于/etc/nginx/conf.d/
或/etc/nginx/sites-available/
目录下。 - 要创建一个新的站点配置文件,可以在
/etc/nginx/conf.d/
目录下创建一个新的文件,例如my_site.conf
,官方配置文件已经读取了conf.d下所有后缀为conf的自定义配置文件。使用文本编辑器(如nano
或vim
)创建一个新文件:
sudo nano /etc/nginx/conf.d/my_site.conf
- 在
my_site.conf
文件中,可以配置一个简单的反向代理来转发请求。以下是一个简单的例子,将请求从端口 80 转发到本地运行在端口 3000 的应用程序,并且加上了限流,1s只能访问10次:
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s; server { listen 80; location / { limit_req zone=mylimit burst=20 nodelay; proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
将上述配置复制到 my_site.conf
文件中,并根据你的需求进行相应的修改。
- 保存并关闭文件。然后,检查 Nginx 配置文件是否有语法错误:
sudo nginx -t
如果一切正常,你应该会看到 “nginx: configuration file /etc/nginx/nginx.conf test is successful” 的消息。
- 重新加载 Nginx 以使更改生效:
sudo systemctl reload nginx
现在,Nginx 已经配置为将从端口 80 收到的请求转发到本地运行在端口 3000 的应用程序。
ubuntu20 官方配置文件介绍
Nginx 的默认配置文件,以下是对各配置项的解释:
-
user nginx;
– 指定 Nginx 运行的用户,这里是 ‘nginx’ 用户。 -
worker_processes auto;
– 设置工作进程数量,auto
表示根据服务器的 CPU 核心数自动设置。 -
error_log /var/log/nginx/error.log notice;
– 指定错误日志文件的位置以及日志级别(这里是 ‘notice’)。 -
pid /var/run/nginx.pid;
– 指定 Nginx 的进程 ID 文件位置。 -
events { ... }
块 – 包含有关事件处理的配置项,例如:worker_connections 1024;
– 指定每个工作进程允许的最大客户端连接数。
-
http { ... }
块 – 包含有关 HTTP 服务器的配置项,例如:include /etc/nginx/mime.types;
– 包含 MIME 类型定义文件。default_type application/octet-stream;
– 设置默认的 MIME 类型。log_format main '...';
– 定义自定义日志格式。access_log /var/log/nginx/access.log main;
– 指定访问日志文件位置以及使用的日志格式(这里是 ‘main’)。sendfile on;
– 启用 sendfile 功能,以提高静态文件传输速度。keepalive_timeout 65;
– 设置客户端连接保持活动的超时时间(单位:秒)。include /etc/nginx/conf.d/*.conf;
– 包含额外的配置文件,通常用于站点特定的配置。
ubuntu20 新系统创建nginx用户
可以看到官方配置文件第一行就是:user nginx,所以我们需要创建一个nginx用户,可以使用以下命令:
getent passwd nginx
如果系统中存在 nginx
用户,该命令将返回该用户的相关信息。如果没有输出,那么 nginx
用户不存在。
如果您发现 nginx
用户不存在,请按照以下步骤创建一个新的 nginx
用户:
- 使用以下命令创建一个没有主目录的新系统用户(
-r
表示系统用户,-M
表示不创建主目录):
sudo adduser --system --no-create-home --group nginx
这将创建一个新的系统用户 nginx
和一个同名的组。Nginx 将以该用户身份运行,以限制其访问权限。
- 更改 Nginx 安装目录和日志目录的所有权,以便新创建的
nginx
用户可以访问:
sudo chown -R nginx:nginx /var/log/nginx sudo chown -R nginx:nginx /var/cache/nginx
如果还没有创建日志和缓存目录,请使用以下命令创建:
sudo mkdir -p /var/log/nginx sudo mkdir -p /var/cache/nginx
- 修改
/etc/nginx/nginx.conf
文件中的user
行,以确保其指向新创建的nginx
用户:
user nginx;
- 重新启动 Nginx 以应用更改:
sudo systemctl restart nginx
现在,Nginx 将以新创建的 nginx
用户身份运行。在大多数情况下,nginx
用户不需要额外的权限。
var code = “b2bc55d3-ec0d-4de3-9dbd-fc10f07ab5ca”
原文链接:https://blog.csdn.net/zab635590867/article/details/129786078