ubuntu20 部署和配置nginx

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的自定义配置文件。使用文本编辑器(如 nanovim)创建一个新文件:
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

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享