Nginx 常用命令和部署详解及案例示范

打印 上一主题 下一主题

主题 1118|帖子 1118|积分 3354

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、Nginx常用命令

1.1 启动 Nginx

要启动 Nginx 服务,可以使用以下命令:
  1. sudo systemctl start nginx
复制代码
1.2 停止 Nginx

假如必要停止 Nginx 服务,可以使用以下命令:
  1. sudo systemctl stop nginx
复制代码
1.3 重启 Nginx

在修改了 Nginx 设置文件后,必要重启 Nginx 以使更改见效。可以使用以下命令:
  1. sudo systemctl restart nginx
复制代码
1.4 重新加载设置

当修改了设置文件,但不盼望停止服务时,可以使用以下命令重新加载设置:
  1. sudo systemctl reload nginx
复制代码
1.5 查看 Nginx 状态

要查看 Nginx 的当前运行状态,可以使用以下命令:
  1. sudo systemctl status nginx
复制代码
这将显示 Nginx 是否正在运行,以及其相关信息。
1.6 测试设置文件

在修改 Nginx 设置文件后,可以使用以下命令测试设置的精确性:
  1. sudo nginx -t
复制代码
假如设置文件精确,会返回 “syntax is ok” 和 “test is successful” 的信息。假如有错误,则会给出具体的错误信息和所在的设置文件行数。
1.7 查看 Nginx 日志

Nginx 的错误日志和访问日志通常位于 /var/log/nginx 目次中。以下命令可以实时查看错误日志:
  1. tail -f /var/log/nginx/error.log
复制代码
访问日志可以使用雷同的命令查看:
  1. tail -f /var/log/nginx/access.log
复制代码
1.8 查看 Nginx 进程

要查看当前运行的 Nginx 进程,可以使用以下命令:
  1. ps aux | grep nginx
复制代码
这将列出所有 Nginx 相关的进程信息,包括主进程和工作进程。
1.9 设置 Nginx 开机自启动

要设置 Nginx 在系统启动时自动启动,可以使用以下命令:
  1. sudo systemctl enable nginx
复制代码
1.10 禁用 Nginx 开机自启动

假如必要禁用 Nginx 在系统启动时自动启动,可以使用以下命令:
  1. sudo systemctl disable nginx
复制代码
二、在 CentOS 上部署 Nginx

2.1 安装 Nginx

在 CentOS 上安装 Nginx 可以通过 EPEL(Extra Packages for Enterprise Linux)仓库或源代码编译来完成。下面先容使用 yum 安装的方法:
  1. # 安装 EPEL 仓库sudo yum install epel-release# 安装 Nginxsudo yum install nginx# 启动 Nginxsudo systemctl start nginx
  2. # 设置开机自启动sudo systemctl enable nginx
复制代码
2.2 验证安装

安装完成后,可以通过以下命令检查 Nginx 的状态:
  1. sudo systemctl status nginx
复制代码
然后在浏览器中输入 http://your_server_ip,假如看到 Nginx 的欢迎页面,阐明安装乐成。
2.3 Nginx 设置文件

Nginx 的主设置文件通常位于 /etc/nginx/nginx.conf。下面是一个基本的设置示例:
  1. worker_processes auto;
  2. events {
  3.     worker_connections 1024;
  4. }
  5. http {
  6.     include /etc/nginx/mime.types;
  7.     default_type application/octet-stream;
  8.     sendfile on;
  9.     keepalive_timeout 65;
  10.     server {
  11.         listen 80;
  12.         server_name localhost;
  13.         location / {
  14.             root /usr/share/nginx/html;  # 静态文件路径
  15.             index index.html index.htm;   # 默认首页
  16.         }
  17.         error_page 404 /404.html;       # 自定义404页面
  18.         location = /404.html {
  19.             internal;
  20.         }
  21.     }
  22. }
复制代码
三、在 Docker 中部署 Nginx

3.1 Docker 安装

首先,必要在 CentOS 上安装 Docker:
  1. # 更新 yum
  2. sudo yum update
  3. # 安装必要的依赖
  4. sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  5. # 添加 Docker 官方的 yum 源
  6. sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  7. # 安装 Docker
  8. sudo yum install docker-ce
  9. # 启动 Docker
  10. sudo systemctl start docker
  11. # 设置开机自启动
  12. sudo systemctl enable docker
复制代码
3.2 拉取 Nginx 镜像

  1. sudo docker pull nginx
复制代码
3.3 运行 Nginx 容器

以下是启动 Nginx 容器的命令:
  1. sudo docker run --name my-nginx -p 80:80 -d nginx
复制代码
此命令将 Nginx 运行在后台并映射到宿主机的 80 端口。
四、Docker 挂载 HTML 文件实现实时革新数据

在实际开发中,我们可能必要实时更新 Nginx 提供的静态资源。可以通过 Docker 的挂载功能来实现这一点。
4.1 准备 HTML 文件

创建一个 HTML 文件夹,并在其中添加一个简朴的 HTML 文件。
  1. mkdir ~/nginx-html
  2. echo "<h1>Hello, Nginx!</h1>" > ~/nginx-html/index.html
复制代码
4.2 启动 Nginx 容器并挂载目次

使用以下命令启动 Nginx 容器,同时将宿主机的 HTML 文件夹挂载到容器内:
  1. sudo docker run --name my-nginx -p 80:80 -v ~/nginx-html:/usr/share/nginx/html -d nginx
复制代码
在这个命令中,-v ~/nginx-html:/usr/share/nginx/html 将宿主机的 ~/nginx-html 目次挂载到 Nginx 容器的 /usr/share/nginx/html 目次中。
4.3 实时革新数据

修改 ~/nginx-html/index.html 文件的内容,Nginx 会自动加载新的内容。好比可以添加如下内容:
  1. <h1>Hello, Nginx! Updated!</h1>
复制代码
保存文件后,革新浏览器,即可看到更新的内容。
五、使用 Nginx 的数据分析系统案例

在数据分析系统中,Nginx 可以用作静态文件服务器和反向代理,以提高系统的性能和安全性。以下是一个简朴的使用案例:
5.1 场景描述

假设我们有一个数据分析系统,前端使用 React 构建,后端使用 Node.js 提供 API。我们盼望通过 Nginx 将静态文件和 API 请求分发到差别的服务。
5.2 Nginx 设置示例

  1. server {
  2.     listen 80;
  3.     server_name analytics.example.com;
  4.     # 静态文件服务
  5.     location / {
  6.         root /usr/share/nginx/html;  # 前端构建的静态文件路径
  7.         index index.html;
  8.         try_files $uri $uri/ /index.html;
  9.     }
  10.     # 反向代理到 Node.js 后端
  11.     location /api {
  12.         proxy_pass http://localhost:3000;  # Node.js 服务地址
  13.         proxy_http_version 1.1;
  14.         proxy_set_header Upgrade $http_upgrade;
  15.         proxy_set_header Connection 'upgrade';
  16.         proxy_set_header Host $host;
  17.         proxy_cache_bypass $http_upgrade;
  18.     }
  19. }
复制代码
六、性能优化

在高并发场景中,优化 Nginx 的性能是非常紧张的。以下是一些常见的优化方法:
6.1 调解工作进程和连接数

根据服务器的 CPU 核心数调解 worker_processes 和 worker_connections 参数:
  1. worker_processes auto;  # 自动设置为 CPU 核心数
  2. worker_connections 2048;  # 增加最大连接数
复制代码
6.2 开启缓存

通过启用缓存,减轻后端服务器的压力:
  1. proxy_cache_path /tmp/cache levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
复制代码
6.3 压缩传输

通过开启 gzip 压缩,淘汰数据传输量:
  1. gzip on;
  2. gzip_types text/plain application/json application/javascript text/css;
  3. gzip_min_length 1000;  # 只有大于1000字节的文件才进行压缩
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

笑看天下无敌手

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表