马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
一、Nginx常用命令
1.1 启动 Nginx
要启动 Nginx 服务,可以使用以下命令:
- sudo systemctl start nginx
复制代码 1.2 停止 Nginx
假如必要停止 Nginx 服务,可以使用以下命令:
- sudo systemctl stop nginx
复制代码 1.3 重启 Nginx
在修改了 Nginx 设置文件后,必要重启 Nginx 以使更改见效。可以使用以下命令:
- sudo systemctl restart nginx
复制代码 1.4 重新加载设置
当修改了设置文件,但不盼望停止服务时,可以使用以下命令重新加载设置:
- sudo systemctl reload nginx
复制代码 1.5 查看 Nginx 状态
要查看 Nginx 的当前运行状态,可以使用以下命令:
- sudo systemctl status nginx
复制代码 这将显示 Nginx 是否正在运行,以及其相关信息。
1.6 测试设置文件
在修改 Nginx 设置文件后,可以使用以下命令测试设置的精确性:
假如设置文件精确,会返回 “syntax is ok” 和 “test is successful” 的信息。假如有错误,则会给出具体的错误信息和所在的设置文件行数。
1.7 查看 Nginx 日志
Nginx 的错误日志和访问日志通常位于 /var/log/nginx 目次中。以下命令可以实时查看错误日志:
- tail -f /var/log/nginx/error.log
复制代码 访问日志可以使用雷同的命令查看:
- tail -f /var/log/nginx/access.log
复制代码 1.8 查看 Nginx 进程
要查看当前运行的 Nginx 进程,可以使用以下命令:
这将列出所有 Nginx 相关的进程信息,包括主进程和工作进程。
1.9 设置 Nginx 开机自启动
要设置 Nginx 在系统启动时自动启动,可以使用以下命令:
- sudo systemctl enable nginx
复制代码 1.10 禁用 Nginx 开机自启动
假如必要禁用 Nginx 在系统启动时自动启动,可以使用以下命令:
- sudo systemctl disable nginx
复制代码 二、在 CentOS 上部署 Nginx
2.1 安装 Nginx
在 CentOS 上安装 Nginx 可以通过 EPEL(Extra Packages for Enterprise Linux)仓库或源代码编译来完成。下面先容使用 yum 安装的方法:
- # 安装 EPEL 仓库sudo yum install epel-release# 安装 Nginxsudo yum install nginx# 启动 Nginxsudo systemctl start nginx
- # 设置开机自启动sudo systemctl enable nginx
复制代码 2.2 验证安装
安装完成后,可以通过以下命令检查 Nginx 的状态:
- sudo systemctl status nginx
复制代码 然后在浏览器中输入 http://your_server_ip,假如看到 Nginx 的欢迎页面,阐明安装乐成。
2.3 Nginx 设置文件
Nginx 的主设置文件通常位于 /etc/nginx/nginx.conf。下面是一个基本的设置示例:
- worker_processes auto;
- events {
- worker_connections 1024;
- }
- http {
- include /etc/nginx/mime.types;
- default_type application/octet-stream;
- sendfile on;
- keepalive_timeout 65;
- server {
- listen 80;
- server_name localhost;
- location / {
- root /usr/share/nginx/html; # 静态文件路径
- index index.html index.htm; # 默认首页
- }
- error_page 404 /404.html; # 自定义404页面
- location = /404.html {
- internal;
- }
- }
- }
复制代码 三、在 Docker 中部署 Nginx
3.1 Docker 安装
首先,必要在 CentOS 上安装 Docker:
- # 更新 yum
- sudo yum update
- # 安装必要的依赖
- sudo yum install -y yum-utils device-mapper-persistent-data lvm2
- # 添加 Docker 官方的 yum 源
- sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- # 安装 Docker
- sudo yum install docker-ce
- # 启动 Docker
- sudo systemctl start docker
- # 设置开机自启动
- sudo systemctl enable docker
复制代码 3.2 拉取 Nginx 镜像
3.3 运行 Nginx 容器
以下是启动 Nginx 容器的命令:
- sudo docker run --name my-nginx -p 80:80 -d nginx
复制代码 此命令将 Nginx 运行在后台并映射到宿主机的 80 端口。
四、Docker 挂载 HTML 文件实现实时革新数据
在实际开发中,我们可能必要实时更新 Nginx 提供的静态资源。可以通过 Docker 的挂载功能来实现这一点。
4.1 准备 HTML 文件
创建一个 HTML 文件夹,并在其中添加一个简朴的 HTML 文件。
- mkdir ~/nginx-html
- echo "<h1>Hello, Nginx!</h1>" > ~/nginx-html/index.html
复制代码 4.2 启动 Nginx 容器并挂载目次
使用以下命令启动 Nginx 容器,同时将宿主机的 HTML 文件夹挂载到容器内:
- 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 会自动加载新的内容。好比可以添加如下内容:
- <h1>Hello, Nginx! Updated!</h1>
复制代码 保存文件后,革新浏览器,即可看到更新的内容。
五、使用 Nginx 的数据分析系统案例
在数据分析系统中,Nginx 可以用作静态文件服务器和反向代理,以提高系统的性能和安全性。以下是一个简朴的使用案例:
5.1 场景描述
假设我们有一个数据分析系统,前端使用 React 构建,后端使用 Node.js 提供 API。我们盼望通过 Nginx 将静态文件和 API 请求分发到差别的服务。
5.2 Nginx 设置示例
- server {
- listen 80;
- server_name analytics.example.com;
- # 静态文件服务
- location / {
- root /usr/share/nginx/html; # 前端构建的静态文件路径
- index index.html;
- try_files $uri $uri/ /index.html;
- }
- # 反向代理到 Node.js 后端
- location /api {
- proxy_pass http://localhost:3000; # Node.js 服务地址
- proxy_http_version 1.1;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection 'upgrade';
- proxy_set_header Host $host;
- proxy_cache_bypass $http_upgrade;
- }
- }
复制代码 六、性能优化
在高并发场景中,优化 Nginx 的性能是非常紧张的。以下是一些常见的优化方法:
6.1 调解工作进程和连接数
根据服务器的 CPU 核心数调解 worker_processes 和 worker_connections 参数:
- worker_processes auto; # 自动设置为 CPU 核心数
- worker_connections 2048; # 增加最大连接数
复制代码 6.2 开启缓存
通过启用缓存,减轻后端服务器的压力:
- 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 压缩,淘汰数据传输量:
- gzip on;
- gzip_types text/plain application/json application/javascript text/css;
- gzip_min_length 1000; # 只有大于1000字节的文件才进行压缩
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |