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

初学者指南:如何搭建和配置 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 "<html><body><h1>Welcome to example.com!</h1></body></html>" > /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。希望这篇初学者指南对你有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/46768.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c# 依赖注入-服务的生命周期

在 C# 中&#xff0c;依赖注入服务的生命周期指的是在应用程序中管理和控制依赖项注入服务对象的生命周期的方式。常见的生命周期包括瞬态&#xff08;transient&#xff09;、作用域&#xff08;scoped&#xff09;和单例&#xff08;singleton&#xff09;三种。 瞬态&#…

【postgresql】pg_dump备份数据库

pg_dump 介绍 pg_dump 是一个用于备份 PostgreSQL 数据库的实用工具。它可以将数据库的内容导出为一个 SQL 脚本文件或其他格式的文件&#xff0c;以便在需要时进行恢复或迁移。 基本用法 pg_dump [选项] [数据库名] 命令选项 -h 或 --host&#xff1a;指定数据库服务器的主…

2024年大数据高频面试题(上篇)

文章目录 HDFS读流程和写流程HDFS读数据流程NameNode和Secondary NameNode工作机制FsimageEdits文件Seen_txidnamenode工作机制HA NameNode如何工作ZKFCHealthMonitorActiveStandbyElectorJouranlNode集群DataNode工作机制DataNode数据损坏压缩MapReduce工作流程MapTask工作流R…

Visual Studio远程调试工具

路径&#xff1a;Visual Studio安装路径/Common7/IDE/Remote Debugger/平台/msvsmon.exe。 平台有x86、x64&#xff0c;x64即可调试x86进程也可调试x64进程。 将平台路径下的所有文件拷贝至其他PC&#xff0c;运行msvsmon.exe。 工具栏选择“工具&#xff08;T&#xff09;”…

Ubuntu18.04安装ROS

1.添加ROS软件源 sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.listcurl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc输入指令&#xff1a;curl -s https:…

密码学原理精解【6】

文章目录 置换密码密码体制加解密过程置换置换运算定义置换运算的例子集合与置换置换规则两行表示法轮换表示法置换运算的结果置换的性质注意事项 分组加解密 理论基础1. 准备工作2. 置换过程3. 置换密码的具体实现方式4. 安全性分析5. 置换密码的应用代换密码代换密码的工作原…

Python中EMD的安装教程

第一步&#xff1a;首先安装两个包 pip install pyemd pip install EMD-signal第二步&#xff1a;然后&#xff0c;进行改名 安装完之后&#xff0c;找到包所在的位置&#xff0c;然后要将原来pyemd的文件夹名称改为PyEMD&#xff1a;

cleanshot Mac 上的截图工具

笔者闲来无事&#xff0c;最近在找一些mac上好用的工具其中一款就是cleanShot。为什么不用原有的mac自带的呢。因为相对来说编辑功能不算全面&#xff0c;不支持长截图。那有没有一款软件支持关于截图的好用工具呢。 所以笔者找了这款。安装包是直接安装就可使用的。请大家点赞…

Golang | Leetcode Golang题解之第237题删除链表中的节点

题目&#xff1a; 题解&#xff1a; func deleteNode(node *ListNode) {node.Val node.Next.Valnode.Next node.Next.Next }

Python中的UnboundLocalError是什么错误?如何解决?

如果代码报错UnboundLocalError, 大概率犯了以下错误&#xff1a; money 10000 # 当前存款def add_money(value):money valueif __name__ __main__:print(当前存款:, money)add_money(1000)print(当前存款:, money)其中&#xff0c;变量money表示当前存款&#xff1b;函数…

DialogFragment 开发手游sdk代替透明的activity

前言 各位同学大家好 有段时间没有给各位更新文章了,最近在写新的项目 之前的手游sdk 都是用透明的activity 效果有缺陷,现在我改成用这个dialogfragment 来实现 , 废话不多说我们正式开始 效果图 : 为什么要使用dialogfragment: 之前开发手游sdk的时候 我这边都是使用透…

【区块链 + 智慧政务】区块链 +ETC 下一代公路联网收费关键技术优化项目 | FISCO BCOS应用案例

2020 年&#xff0c;我国取消省界收费站项目完成后&#xff0c;随着收费模式与收费方式的变化&#xff0c;形成了以门架为计费单元的新收 费体系&#xff1a;按照车辆通行门架数&#xff0c;RSU 天线读取 ETC 卡、电子标签 OBU 或 CPC 卡内标识的车型信息&#xff0c;车型门架计…

ALlegro批量替换封装?

1&#xff0c;此种情况批量修改同名封装&#xff0c;即改前改后的封装名相同 2&#xff0c;首先将改好后的封装放于库路径下 3&#xff0c;place ----update symbols —package symbols ----选择修改的封装名 4&#xff0c;refresh 完成

开源PS2模拟器 PCSX2 2.0版发布 性能与功能全面升级

时隔多年之后&#xff0c;备受玩家喜爱的PS2模拟器PCSX2迎来了重大更新&#xff0c;2.0版本正式发布&#xff01;此次更新包含了大量改进&#xff0c;几乎涵盖了模拟器各个方面&#xff0c;为玩家带来更流畅、更便捷的游戏体验。 下载地址&#xff1a; https://pcsx2.net/ 界…

Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器

章节内容 上节我们完成了&#xff1a; ZNode的基本介绍ZNode节点类型的介绍事务ID的介绍ZNode实机测试效果 背景介绍 这里是三台公网云服务器&#xff0c;每台 2C4G&#xff0c;搭建一个Hadoop的学习环境&#xff0c;供我学习。 之前已经在 VM 虚拟机上搭建过一次&#xff…

C语言性能优化背后技术详解

引言 C语言因其高效和接近硬件的特性&#xff0c;在性能敏感的应用中得到了广泛的应用。然而&#xff0c;要写出高性能的C代码&#xff0c;需要对C语言的内部机制和计算机体系结构有深入的理解。本文将深入探讨C语言性能优化的背后技术&#xff0c;揭示其原理&#xff0c;并通…

品牌形象的智能塑造:Kompas.ai如何构建品牌视觉识别

品牌形象是企业在消费者心中构建的独特印象&#xff0c;它对于品牌识别和记忆度至关重要。一个一致且具有辨识度的品牌形象能够帮助企业在激烈的市场竞争中脱颖而出。Kompas.ai&#xff0c;作为一款智能设计工具&#xff0c;正帮助品牌塑造和维护其独特的视觉识别系统。 一致的…

JMeter进行HTTP接口测试的技术要点

参数化 用户定义的变量 用的时候 ${名字} 用户参数 在参数列表中传递 并且也是${} csv数据文件设置 false 不忽略首行 要首行 从第一行读取 true 忽略首行 从第二行开始 请求时的参数设置&#xff1a; 这里的名称是看其接口需要的请求参数的名称 这里的变量名称就是为csv里面…

【AI应用探讨】—生成对抗网络(GAN)应用场景

目录 1. 图像生成 2. 数据增强 3. 图像编辑与风格转换 4. 视频生成 5. 游戏设计 6. 其他领域 1. 图像生成 应用场景&#xff1a; 艺术创作&#xff1a;艺术家和设计师使用GAN生成的图像作为创作的灵感&#xff0c;创造出新颖、独特的艺术品。GAN可以生成具有特定风格的…

帮助中心如何提高用户粘性和活跃度?

帮助中心&#xff08;Help Center&#xff09;是在产品网站或者产品内部设立的一个功能模块&#xff0c;用于将产品使用上遇到的问题&#xff0c;或者关于产品的所有问题进行汇总&#xff0c;并通过Q&A&#xff08;问题与解答&#xff09;的形式展现给用户&#xff0c;帮助…