在华为云EulerOS 2.0标准版64位系统上如何安装和配置Nginx?

在华为云EulerOS 2.0上安装和配置Nginx的步骤如下:

一、安装Nginx

方法1:通过YUM安装(推荐)

# 1. 更新系统包
sudo yum update -y

# 2. 添加EPEL仓库(如果需要)
sudo yum install epel-release -y

# 3. 安装Nginx
sudo yum install nginx -y

# 4. 验证安装
nginx -v

方法2:源码编译安装(获取最新版本)

# 1. 安装编译依赖
sudo yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel

# 2. 下载Nginx源码
cd /usr/local/src
sudo wget http://nginx.org/download/nginx-1.24.0.tar.gz
sudo tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0

# 3. 编译安装
sudo ./configure --prefix=/usr/local/nginx 
    --with-http_ssl_module 
    --with-http_stub_status_module 
    --with-http_gzip_static_module 
    --with-http_v2_module

sudo make && sudo make install

# 4. 创建软链接
sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx

二、配置Nginx

1. 基本配置

# 查看配置文件位置
nginx -t

# 主要配置文件
/etc/nginx/nginx.conf
/etc/nginx/conf.d/

2. 创建虚拟主机配置

# 创建网站配置文件
sudo vi /etc/nginx/conf.d/yourdomain.conf

示例配置:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    # 网站根目录
    root /var/www/html;
    index index.html index.htm;

    # 日志配置
    access_log /var/log/nginx/yourdomain.access.log;
    error_log /var/log/nginx/yourdomain.error.log;

    location / {
        try_files $uri $uri/ =404;
    }

    # 静态文件缓存
    location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

3. SSL配置(可选)

# 安装Certbot(Let's Encrypt)
sudo yum install certbot python3-certbot-nginx -y

# 获取SSL证书
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

三、启动和管理Nginx

1. 启动服务

# 启动Nginx
sudo systemctl start nginx

# 设置开机自启
sudo systemctl enable nginx

# 查看状态
sudo systemctl status nginx

2. 常用命令

# 测试配置文件
sudo nginx -t

# 重新加载配置(不中断服务)
sudo nginx -s reload

# 停止服务
sudo systemctl stop nginx

# 重启服务
sudo systemctl restart nginx

四、防火墙配置

# 开放80和443端口
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

# 或者直接开放端口
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload

五、安全优化建议

  1. 隐藏Nginx版本信息

    http {
    server_tokens off;
    }
  2. 限制请求大小

    http {
    client_max_body_size 10m;
    }
  3. 创建Nginx用户

    sudo useradd -r -s /sbin/nologin nginx

六、故障排查

# 查看错误日志
sudo tail -f /var/log/nginx/error.log

# 查看访问日志
sudo tail -f /var/log/nginx/access.log

# 检查端口监听
sudo netstat -tlnp | grep nginx

注意事项

  1. EulerOS 2.0基于CentOS,大部分命令与CentOS/RHEL相同
  2. 确保SELinux配置正确,或临时禁用测试
  3. 配置文件修改后务必执行 nginx -t 测试语法
  4. 建议定期更新Nginx以获取安全补丁

按照以上步骤,您应该能在华为云EulerOS 2.0上成功安装和配置Nginx。

云服务器