教你如何快速搭建和配置 Nginx 服务器

 更新时间:2024年07月18日 16:03:22   作者:iangyu  
Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器,本文将详细介绍如何在 Linux 上安装、配置和管理 Nginx 服务器,感兴趣的朋友一起看看吧

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

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

一、安装 Nginx

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

在 Ubuntu 上安装 Nginx:

更新包索引:

sudo apt update

安装 Nginx:

sudo apt install nginx

启动 Nginx 服务:

sudo systemctl start nginx

设置 Nginx 开机自启动:

sudo systemctl enable nginx

在 CentOS 上安装 Nginx:

安装 EPEL 仓库:

sudo yum install epel-release

安装 Nginx:

sudo yum install nginx

启动 Nginx 服务:

sudo systemctl start nginx

设置 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/ 目录中的文件来配置虚拟主机。

创建虚拟主机配置文件:

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

sudo nano /etc/nginx/sites-available/example.com

添加以下内容到配置文件中:

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;
    }
}

创建网站根目录并添加测试文件:

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 "<html><body><h1>Welcome to example.com!</h1></body></html>" > /var/www/example.com/html/index.html

启用虚拟主机配置:

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

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

测试 Nginx 配置并重新加载:

sudo nginx -tsudo 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。

安装 Certbot 和 Nginx 插件:

在 Ubuntu 上:

sudo apt install certbot python3-certbot-nginx

在 CentOS 上:

sudo yum install certbot python2-certbot-nginx

获取 SSL 证书:

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

sudo certbot --nginx -d example.com -d www.example.com

验证 SSL 证书的自动续期:

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

sudo certbot renew --dry-run

六、总结

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

到此这篇关于教你如何快速搭建和配置 Nginx 服务器的文章就介绍到这了,更多相关Nginx 服务器搭建和配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx 安装笔记(含PHP支持、虚拟主机、反向代理负载均衡)

    Nginx 安装笔记(含PHP支持、虚拟主机、反向代理负载均衡)

    Nginx安装简记(含PHP支持、虚拟主机、反向代理负载均衡) Nginx,据说高性能和稳定性比Apache还牛,并发连接处理能力强,低系统资源消耗。目前已有250多万web站点在使用
    2009-10-10
  • 关于lua_shared_dict的incr方法详解

    关于lua_shared_dict的incr方法详解

    这篇文章主要介绍了关于lua_shared_dict的incr方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • Nginx在linux和windows下代理静态文件夹方式

    Nginx在linux和windows下代理静态文件夹方式

    Windows下配置Nginx代理E盘data文件夹,开发端口7766;Linux下配置Nginx代理home/mydata文件夹,开发端口7766,重启Nginx方法:Windows直接nginx -s reload;Linux根据安装位置使用find命令找到sbin目录后,使用/usr/sbin/nginx -s reload重启
    2025-11-11
  • Nginx的正则表达式详解

    Nginx的正则表达式详解

    今天来聊一聊他的正则表达式的使用规则,我会简单的举几个例子然后进行说明讲解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Nginx搭建自己的CDN服务器的方法步骤

    Nginx搭建自己的CDN服务器的方法步骤

    本文主要介绍了Nginx搭建自己的CDN服务器的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • 安装Windows版nginx及部署前端代码并解决刷新出现404问题

    安装Windows版nginx及部署前端代码并解决刷新出现404问题

    这篇文章主要给大家介绍了关于安装Windows版nginx及部署前端代码解决刷新出现404问题的相关资料,使用nginx部署前端项目是一篇非常详细的教程,旨在帮助初学者使用Nginx来部署前端项目,需要的朋友可以参考下
    2023-12-12
  • Nginx部署前端静态文件指南分享(基于虚拟机环境)

    Nginx部署前端静态文件指南分享(基于虚拟机环境)

    本笔记详细介绍了如何使用Nginx部署前端静态文件,包括环境准备、文件传输、配置文件编写、自定义配置加载、验证配置和日志查看等步骤,通过实践操作,用户可以掌握用Nginx快速部署任意前端静态文件的核心技能
    2026-02-02
  • 线上Nginx频繁502的排查过程与解决方案

    线上Nginx频繁502的排查过程与解决方案

    本文详细介绍了在线上Nginx频繁出现502错误的排查过程,包括监控数据、Nginx和后端服务的状态检查、连接数分析以及最终的解决方案,作者通过调整系统参数、优化Nginx配置和多实例负载均衡等措施,成功解决了502错误问题,需要的朋友可以参考下
    2026-01-01
  • nginx 基本配置与参数说明详细介绍

    nginx 基本配置与参数说明详细介绍

    这篇文章主要介绍了nginx 基本配置与参数说明详细介绍的相关资料,需要的朋友可以参考下
    2016-10-10
  • Nginx日志中request_time和upstream_response_time区别

    Nginx日志中request_time和upstream_response_time区别

    Nginx日志中的request_time和upstream_response_time是关键的性能指标,本文就来介绍一下Nginx日志中request_time和upstream_response_time区别,具有一定的参考价值,感兴趣的可以了解一下
    2024-11-11

最新评论