问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Igor Sysoev详解:Nginx安装配置与性能优化全攻略

创作时间:
2025-01-22 06:14:13
作者:
@小白创作中心

Igor Sysoev详解:Nginx安装配置与性能优化全攻略

Igor Sysoev,Nginx的开发者,为你带来保姆级Nginx配置教程。从安装到配置,一步步指导你如何搭建属于自己的高性能服务器环境。无论是个人博客还是企业应用,都能通过Nginx实现高效稳定的网络服务。跟着这位大佬一起动手吧,让你的网站飞速运转起来!

01

一、Nginx简介

Nginx(发音为“engine-x”)是一个高性能的HTTP和反向代理服务器,由Igor Sysoev于2002年创建。经过20多年的发展,Nginx已经成为全球最受欢迎的Web服务器之一,目前大约有三分之一的网站使用Nginx。

02

二、安装Nginx

1. 使用yum安装(推荐)

在CentOS系统上,最简单的方式是使用yum包管理器进行安装:

sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx

2. 从源码编译安装

如果需要更多定制化选项,可以从源码编译安装:

sudo yum install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
wget http://nginx.org/download/nginx-1.27.3.tar.gz
tar -zxvf nginx-1.27.3.tar.gz
cd nginx-1.27.3
./configure
make
sudo make install
03

三、基本配置

Nginx的主要配置文件位于/etc/nginx/nginx.conf。打开该文件,你会看到类似如下的结构:

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

1. 监听端口

要让Nginx监听80端口,可以在http块中添加如下配置:

server {
    listen 80;
    server_name localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
}

2. 虚拟主机

Nginx支持虚拟主机功能,可以在/etc/nginx/conf.d/目录下创建新的配置文件,例如mydomain.conf

server {
    listen 80;
    server_name mydomain.com;

    location / {
        root /path/to/your/website;
        index index.html;
    }
}

3. 反向代理

Nginx可以作为反向代理服务器,将请求转发到后端应用服务器:

server {
    listen 80;
    server_name mydomain.com;

    location / {
        proxy_pass http://localhost:8080;
    }
}
04

四、性能优化

1. 调整工作进程数量

Nginx默认使用与CPU核心数量相同的工作进程数。可以通过修改worker_processes指令来调整:

worker_processes  4;

2. 连接超时时间

适当调整连接超时时间可以提高服务器性能:

keepalive_timeout  65;

3. 启用gzip压缩

启用gzip压缩可以减少传输数据量,提高响应速度:

gzip  on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
05

五、实际应用:Vue.js项目部署

假设你已经有一个Vue.js项目,可以按照以下步骤进行部署:

  1. 构建项目

    在项目目录下运行:

    npm install
    npm run build
    
  2. 配置Nginx

    编辑Nginx配置文件,添加如下内容:

    server {
        listen 80;
        server_name yourdomain.com;
    
        location / {
            root /path/to/your/project/dist;
            index index.html;
            try_files $uri $uri/ /index.html;
        }
    }
    
  3. 重启Nginx

    应用更改并重启服务:

    sudo nginx -t
    sudo systemctl restart nginx
    
06

六、总结与建议

  1. 定期检查日志:通过分析Nginx日志,可以发现性能瓶颈和安全问题。
  2. 使用缓存:合理使用缓存可以显著提高服务器性能。
  3. 安全设置:配置适当的防火墙规则,限制不必要的访问。
  4. 持续监控:使用监控工具(如Prometheus)持续监控服务器性能。

通过以上步骤,你可以在阿里云CentOS服务器上成功部署Nginx,并利用Jenkins实现自动化持续集成与交付。跟着Igor Sysoev一起动手吧,让你的网站飞速运转起来!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号