教你如何快速搭建和配置 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实现访问本地静态资源的完整指南

    配置Nginx实现访问本地静态资源的完整指南

    Nginx 是一个高性能的 HTTP 服务器和反向代理服务器,广泛用于静态资源的托管和负载均衡,在开发和生产环境中,我们常常需要使用 Nginx 来提供本地静态资源的访问,本文将详细介绍如何配置 Nginx 以便访问本地静态资源,需要的朋友可以参考下
    2024-08-08
  • 关于使用Keepalived实现Nginx的自动重启及双主热备高可用问题

    关于使用Keepalived实现Nginx的自动重启及双主热备高可用问题

    这篇文章主要介绍了使用Keepalived实现Nginx的自动重启及双主热备高可用,本文通过几个问题解析帮助大家学习Keepalived实现Nginx的自动重启的相关知识,需要的朋友可以参考下
    2021-09-09
  • Nginx访问日志切割的3种实现方法

    Nginx访问日志切割的3种实现方法

    这篇文章主要给大家介绍了关于Nginx访问日志切割的3种实现方法,随着访问量的增长,日志文件会越来越大,时间长既会影响访问的速度,也会占用一部分磁盘空间,这时候就需要日志切割了,需要的朋友可以参考下
    2023-08-08
  • 详解proxy_pass根据path路径转发时的

    详解proxy_pass根据path路径转发时的"/"问题记录

    这篇文章主要介绍了详解proxy_pass根据path路径转发时的"/"问题记录,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 使用Nginx反向代理实现多端口跳转的实战分享

    使用Nginx反向代理实现多端口跳转的实战分享

    在现代Web开发中,Nginx作为一款高性能的开源反向代理服务器,提供了强大的功能来管理网络流量和路由,本文将介绍如何利用 Nginx 的反向代理功能,以实现多端口跳转的效果,需要的朋友可以参考下
    2024-02-02
  • 深入理解Nginx中Server和Location的匹配逻辑

    深入理解Nginx中Server和Location的匹配逻辑

    这篇文章主要介绍了深入理解Nginx中Server和Location的匹配逻辑,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • nginx日志导入elasticsearch的方法示例

    nginx日志导入elasticsearch的方法示例

    这篇文章主要介绍了nginx日志导入elasticsearch的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Nginx基于漏桶算法配置限流详解

    Nginx基于漏桶算法配置限流详解

    这篇文章主要为大家介绍了Nginx基于漏桶算法配置限流详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • linux下 nginx监控问题

    linux下 nginx监控问题

    这篇文章主要介绍了linux 下nginx监控问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • centos服务器中配置nginx的方法示例

    centos服务器中配置nginx的方法示例

    这篇文章主要介绍了centos服务器中配置nginx的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06

最新评论