初学者指南:如何搭建和配置 Nginx 服务器
创始人
2025-01-11 00:05:27
0

初学者指南:如何搭建和配置 Nginx 服务器

Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。本文将详细介绍如何在 Linux 上安装、配置和管理 Nginx 服务器。

一、安装 Nginx

Nginx 可以安装在多种操作系统上,如 Ubuntu、Debian、CentOS 等。以下是分别在 Ubuntu 和 CentOS 上的安装步骤:

在 Ubuntu 上安装 Nginx:

  1. 更新包索引:

    sudo apt update 
  2. 安装 Nginx:

    sudo apt install nginx 
  3. 启动 Nginx 服务:

    sudo systemctl start nginx 
  4. 设置 Nginx 开机自启动:

    sudo systemctl enable nginx 

在 CentOS 上安装 Nginx:

  1. 安装 EPEL 仓库:

    sudo yum install epel-release 
  2. 安装 Nginx:

    sudo yum install nginx 
  3. 启动 Nginx 服务:

    sudo systemctl start nginx 
  4. 设置 Nginx 开机自启动:

    sudo systemctl enable nginx 
二、基本配置

安装完成后,Nginx 的默认配置文件位于 /etc/nginx/nginx.conf。我们可以通过编辑该文件或添加新的配置文件来配置 Nginx。

检查 Nginx 状态:

sudo systemctl status nginx 

重新加载 Nginx 配置:

每次修改 Nginx 配置文件后,需要重新加载配置以使更改生效:

sudo systemctl reload nginx 
三、配置虚拟主机

虚拟主机允许你在一台服务器上托管多个网站。我们可以通过编辑 /etc/nginx/sites-available/ 目录中的文件来配置虚拟主机。

  1. 创建虚拟主机配置文件:

    /etc/nginx/sites-available/ 目录中创建一个新的配置文件,例如 example.com

    sudo nano /etc/nginx/sites-available/example.com 
  2. 添加以下内容到配置文件中:

    server {     listen 80;     server_name example.com www.example.com;  #server_name该为自己的域名      root /var/www/example.com/html;     index index.html index.htm;      location / {         try_files $uri $uri/ =404;     } } 
  3. 创建网站根目录并添加测试文件:

    sudo mkdir -p /var/www/example.com/html sudo chown -R $USER:$USER /var/www/example.com/html sudo chmod -R 755 /var/www/example.com 

    创建一个简单的 index.html 文件:

    echo "

    Welcome to example.com!

    " > /var/www/example.com/html/index.html
  4. 启用虚拟主机配置:

    创建一个指向 sites-available 目录中配置文件的符号链接到 sites-enabled 目录:

    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ 
  5. 测试 Nginx 配置并重新加载:

    sudo nginx -t sudo systemctl reload nginx 
四、设置防火墙

确保防火墙允许 HTTP 和 HTTPS 流量。

在 Ubuntu 上使用 UFW:

sudo ufw allow 'Nginx Full' sudo ufw enable sudo ufw status 

在 CentOS 上使用 Firewalld:

sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload 
五、使用 HTTPS

为了增强网站的安全性,可以使用 Let’s Encrypt 提供的免费 SSL 证书来启用 HTTPS。

  1. 安装 Certbot 和 Nginx 插件:

    在 Ubuntu 上:

    sudo apt install certbot python3-certbot-nginx 

    在 CentOS 上:

    sudo yum install certbot python2-certbot-nginx 
  2. 获取 SSL 证书:

    使用 Certbot 获取并自动配置 SSL 证书:

    sudo certbot --nginx -d example.com -d www.example.com 
  3. 验证 SSL 证书的自动续期:

    Certbot 自动创建了一个 cron 任务以每 12 小时检查和自动续期证书。你可以使用以下命令模拟续期过程以确保其正常工作:

    sudo certbot renew --dry-run 
六、总结

通过以上步骤,你已经成功地在 Linux 上安装并配置了 Nginx 服务器。你学习了如何设置虚拟主机、配置防火墙以及使用 Let’s Encrypt 启用 HTTPS。希望这篇初学者指南对你有所帮助。

相关内容

热门资讯

第五分钟辅助!wpk软件是真的... 第五分钟辅助!wpk软件是真的吗,哈糖大菠萝挂法(有挂头条)-哔哩哔哩1、在哈糖大菠萝挂法插件功能辅...
经验辅助!传送屋辅助器下载(辅... 经验辅助!传送屋辅助器下载(辅助)本来真的有辅助app(哔哩哔哩)1、起透看视 传送屋辅助器下载辅助...
3分钟辅助!福建大菠萝万能辅助... 3分钟辅助!福建大菠萝万能辅助器,wepoker辅助器如何使用(有挂教程)-哔哩哔哩1、福建大菠萝万...
经验辅助!牌乐门插件(辅助)其... 经验辅助!牌乐门插件(辅助)其实有辅助攻略(哔哩哔哩)1、牌乐门插件有没有辅助教程、牌乐门插件有透视...
1分钟辅助!hhpoker有透... 1分钟辅助!hhpoker有透视挂的吗,pokerworld辅助器(有挂方法)-哔哩哔哩1、完成hh...
五分钟辅助!hh poker辅... 五分钟辅助!hh poker辅助有用吗,wepoker亲友圈有用吗(有挂技术)-哔哩哔哩亲,关键说明...
阶段辅助!三哥玩十三张辅助器(... 阶段辅助!三哥玩十三张辅助器(辅助)确实一直都是有辅助工具(哔哩哔哩)1、阶段辅助!三哥玩十三张辅助...
8分钟辅助!德扑HHpoker... 8分钟辅助!德扑HHpoker有挂吗,佛手在线大菠萝智能辅助器(了解有挂)-哔哩哔哩1)佛手在线大菠...
指引辅助!广东雀神破解器(辅助... 指引辅助!广东雀神破解器(辅助)确实真的是有辅助工具(哔哩哔哩)1、每一步都需要思考,不同水平的挑战...
3分钟辅助!pokemmo辅助... 3分钟辅助!pokemmo辅助脚本,哈糖大菠萝开挂(有挂透明挂)-哔哩哔哩1、许多玩家不知道哈糖大菠...