如何在Linux系统中使用Nginx部署静态网站

news2024/11/25 18:29:03

如何在Linux系统中使用Nginx部署静态网站

      • Nginx简介
      • 安装Nginx
        • 在Debian/Ubuntu系统中安装
        • 在CentOS/RHEL系统中安装
      • 启动Nginx服务
      • 验证Nginx是否正在运行
      • 配置Nginx服务器块
        • 编辑服务器块配置
        • 示例服务器块配置
      • 创建网站根目录
      • 准备静态网站内容
        • 创建示例HTML页面
      • 测试Nginx配置
      • 重新加载Nginx配置
      • 配置域名
        • 注册域名
        • DNS解析
      • 配置SSL证书
        • 获取免费SSL证书
        • 配置HTTPS
      • 访问网站
        • 访问网站
      • Nginx日志管理
        • 查看访问日志
        • 查看错误日志
      • Nginx的高级用法
        • 配置缓存
        • 配置负载均衡
      • Nginx的常见问题
        • 问题1:Nginx无法启动
        • 问题2:页面显示404错误
      • Nginx的安全性考虑
        • 安全性建议
      • 总结

在Linux系统中,Nginx是一个广泛使用的高性能Web服务器和反向代理服务器。本文将详细介绍如何在Linux系统中使用Nginx部署静态网站。

Nginx简介

Nginx是一款开源的Web服务器软件,以其高性能、稳定性以及低内存消耗而著称。

安装Nginx

大多数Linux发行版都支持Nginx的安装。
在Debian/Ubuntu系统中安装
使用`apt-get`来安装Nginx。
sudo apt update
sudo apt install nginx
在CentOS/RHEL系统中安装
使用`yum`来安装Nginx。
sudo yum install epel-release
sudo yum install nginx

启动Nginx服务

安装完成后,需要启动Nginx服务,并设置开机自启动。 ![启动Nginx服务示例](https://img-blog.csdnimg.cn/img_convert/2b7484841716a8f8d590c1d2f93988c5.png)
sudo systemctl start nginx
sudo systemctl enable nginx

验证Nginx是否正在运行

可以使用以下命令来验证Nginx是否正在运行。
sudo systemctl status nginx

配置Nginx服务器块

为了部署静态网站,需要配置一个服务器块(server block)来指向网站的根目录。
编辑服务器块配置
编辑Nginx的配置文件来添加服务器块。
sudo nano /etc/nginx/sites-available/default
示例服务器块配置
添加或修改以下配置。
server {
    listen 80;
    server_name example.com www.example.com;

    location / {
        root /var/www/html;
        index index.html;
    }
}

创建网站根目录

创建一个目录来存放网站文件。
sudo mkdir -p /var/www/html
sudo chown -R $USER:$USER /var/www/html

准备静态网站内容

将你的HTML、CSS、JavaScript以及其他静态文件放置在这个目录下。
创建示例HTML页面
<!DOCTYPE html>
<html>
<head>
    <title>Example Website</title>
</head>
<body>
    <h1>Welcome to Example Website!</h1>
    <p>This is an example static website served by Nginx.</p>
</body>
</html>

将上述代码保存为/var/www/html/index.html

测试Nginx配置

在重新加载Nginx之前,测试配置文件是否有语法错误。

sudo nginx -t

重新加载Nginx配置

如果测试无误,重新加载Nginx配置以应用更改。
重新加载Nginx配置示例

sudo systemctl reload nginx

配置域名

为了让外部访问网站,需要配置域名解析至服务器的IP地址。

注册域名
如果你还没有域名,可以注册一个。

DNS解析
将域名解析到服务器的IP地址。

配置SSL证书

为了提供安全连接,可以配置SSL证书。

获取免费SSL证书
使用Let's Encrypt来获取免费的SSL证书。

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx

配置HTTPS
配置好证书后,Nginx会自动重定向HTTP到HTTPS。

访问网站

现在可以通过域名访问你的静态网站。

访问网站
打开浏览器,输入域名。

Nginx日志管理

Nginx的日志文件通常位于 /var/log/nginx

查看访问日志
使用 catless命令查看访问日志。

cat /var/log/nginx/access.log

查看错误日志
查看错误日志以诊断问题。

cat /var/log/nginx/error.log

Nginx的高级用法

除了基本的配置之外,Nginx还有许多高级功能。

配置缓存
使用Nginx内置的缓存功能来加速网站。

location / {
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
    proxy_cache_key "$scheme$request_method$host$request_uri";
    proxy_cache_valid 200 302 10m;
}

配置负载均衡
使用Nginx来配置负载均衡。

upstream backend {
    server 192.168.1.100;
    server 192.168.1.101;
}

server {
    location / {
        proxy_pass http://backend;
    }
}

Nginx的常见问题

在使用Nginx的过程中可能会遇到一些常见问题。

问题1:Nginx无法启动
检查日志文件以找出原因。

问题2:页面显示404错误
检查网站根目录是否正确配置。

Nginx的安全性考虑

在使用Nginx时还需要注意一些安全性方面的问题。

安全性建议
定期更新Nginx及其依赖库,避免安全漏洞。

总结

通过本文,你已经学习了如何在Linux系统中使用Nginx部署静态网站。我们介绍了Nginx的基本概念、安装方法、启动Nginx服务、验证Nginx是否正在运行、配置Nginx服务器块、创建网站根目录、准备静态网站内容、测试Nginx配置、重新加载Nginx配置、配置域名、配置SSL证书、访问网站、Nginx日志管理、Nginx的高级用法、Nginx的常见问题、Nginx的安全性考虑等内容。掌握了这些知识,将有助于你在实际工作中更好地管理Linux系统的Web服务。

使用Nginx可以有效地部署静态网站,提供高性能和稳定的访问体验。

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

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

相关文章

Mysql报错注入之floor报错详解

updatexml extractvalue floor 是mysql的函数 groupbyrandfloorcount 一、简述 利用 select count(),(floor(rand(0)2))x from table group by x&#xff0c;导致数据库报错&#xff0c;通过 concat 函数&#xff0c;连接注入语句与 floor(rand(0)*2)函数&#xff0c;实现将…

Redis 命令集 (超级详细)

目录 Redis 常用命令集 string类型 hash类型 list类型 set类型 zset类型 bitmap 类型 geo 类型 GEOADD (添加地理位置的坐标) GEOPOS (获取地理位置的坐标) GEODIST (计算两个位置之间的距离) GEOHASH (返回一个或多个位置对象的 geohash 值) GEORADIUS (根据用户…

nuxt数据库之增删改查,父组件子组件传值

nuxt学到数据库这里&#xff0c;就涉及到响应数据&#xff0c;父组件向子组件传值&#xff0c;子组件向父组件传值&#xff0c;最终还是需要掌握vue3的组件知识了。学习真的是一个长期的过程&#xff0c;不管学习了什么知识&#xff0c;有多少&#xff0c;都应该及时的记录下来…

如何在Linux系统中使用Zabbix进行监控

如何在Linux系统中使用Zabbix进行监控 Zabbix简介 安装Zabbix 在Debian/Ubuntu系统中安装 在CentOS/RHEL系统中安装 配置Zabbix数据库 创建数据库 导入数据库 配置Zabbix服务器 访问Zabbix Web界面 完成初始配置 配置Zabbix Agent 安装Agent 配置Agent 添加主机到Zabbix 创…

《Counterfeiting Scalable Detection Image Based System for E-commerce》中文校对版

文章汉化系列目录 文章目录 文章汉化系列目录摘要CCS 概念&#xff1a;关键词1 引言2 E-CoS2.1 e-CoS架构2.2 e-CoS 模块2.2.1 图像相似度模块2.2.2 索引和搜索模块2.2.3 索引2.2.4 搜索 3 性能考量3.1 示例 13.2 示例 23.3 示例 3 4 结论致谢 摘要 电子商务中的假冒问题通过本…

前端开发设计模式——观察者模式

目录 一、定义和特点 1. 定义 2. 特点 二、实现方式 1. 使用 JavaScript 实现观察者模式的基本结构 2. 实际应用中的实现示例 三、使用场景 1. 事件处理 2. 数据绑定 3. 异步通信 4. 组件通信 四、优点 1. 解耦和灵活性 2. 实时响应和数据一致性 3. 提高代码的可…

思科--交换网络综合实验

前言 之前一直在学华为ENSP的命令&#xff0c;最近来了个实验&#xff08;被坑了&#xff09;&#xff0c;要求是用思科完成。没法子&#xff0c;就弄呗 拓扑图 实验目标 首先配置以太通道&#xff08;逻辑上的&#xff09;实现链路冗余和负载共享 在交换机接口配置trunk&#…

推荐一款开源的免费PDF编辑工具:CubePDF Utility

CubePDF Utility是一款功能强大的开源免费PDF编辑器&#xff0c;它采用了基于缩略图的界面设计&#xff0c;为用户提供了直观且高效的PDF编辑体验。该软件特别针对那些希望以简单直观方式编辑 PDF 文件的用户而设计&#xff0c;支持多种操作&#xff0c;如合并、提取、拆分、更…

探索C嘎嘎:初步接触STL

#1024程序员节&#xff5c;征文# 前言&#xff1a; 在前文小编讲述了模版初阶&#xff0c;其实讲述模版就是为了给讲STL提前铺垫&#xff0c;STL是C中很重要的一部分&#xff0c;各位读者朋友要知道它的份量&#xff0c;下面废话不多说&#xff0c;开始走进STL的世界。 目录&am…

【java】java的基本程序设计结构03-charboolean

char类型 代表 字符--符号---几何图形 大小由编码类型决定。 char是基本类型&#xff0c;但String不是。 String是Java中的一个类&#xff0c;属于引用类型; char中只能放一个字符。 char a‘a’; //任意单个字符&#xff0c;加单引号。 char a‘中’;//任意单个中文…

22-Carla AD 代理

CARLA AD agent是一种AD agent&#xff0c;它可以遵循给定的路线&#xff0c;避免与其他车辆相撞&#xff0c;并通过访问地面真实数据来遵守红绿灯的状态。CARLA AD demo使用它来提供一个如何使用ROS桥接的示例。 在内部&#xff0c;CARLA AD Agent使用单独的节点进行局部规划。…

Could not find the planner configuration ‘None‘ on the param server

moveit中运行demo.launch报错&#xff1a;Could not find the planner configuration ‘None’ on the param server 打开config文件夹下的config&#xff0c;找到ompl_planning.yaml文件&#xff0c;找到&#xff1a; arm: default_planner_config: None gripper: default_p…

微信支付宝小程序SEO优化的四大策略

在竞争激烈的小程序市场中&#xff0c;高搜索排名意味着更多的曝光机会和潜在用户。SEO即搜索引擎优化&#xff0c;对于小程序而言&#xff0c;主要指的是在微信小程序商店中提高搜索排名&#xff0c;从而增加曝光度和用户访问量。有助于小程序脱颖而出&#xff0c;提升品牌知名…

Servlet 3.0 注解开发

文章目录 Servlet3.0注解开发修改idea创建注解的servlet模板内容讲解 关于servlet3.0注解开发的疑问_配置路径省略了属性urlPatterns内容讲解内容小结 Servlet3.0注解开发 【1】问题 说明&#xff1a;之前我们都是使用web.xml进行servlet映射路径的配置。这样配置的弊端&…

如何把网页的图片批量下载?3批量下载方法有详细步骤

如何把网页的图片批量下载&#xff1f;在浏览网页时&#xff0c;我们经常会遇到内容丰富、图片繁多的页面&#xff0c;无论是欣赏美图集、研究设计案例&#xff0c;还是收集教学素材&#xff0c;这些图片往往都是宝贵的资源。然而&#xff0c;一张张手动保存不仅耗时费力&#…

Linux中SPI

参考资料 https://www.cnblogs.com/aaronLinux/p/6219146.html1.SPI 2.SPI传输 2.1传输示例 首先&#xff0c;CS0拉低选中的SPI Flash , 然后在每个时钟周期&#xff0c; DO输出对应的电平。 SPI FLASH会在每个时钟的上升沿读取D0的电平。2.2SPI模式 根据SCK的电平以及数据在…

状态机模型

文章目录 一、大盗阿福二、股票买卖 IV三、股票买卖 V四、设计密码4.1kmp题目4.2设计密码 一、大盗阿福 题目链接 #include<iostream> #include<cstring> #include<algorithm> using namespace std; const int N 1e5 10; int f[N][2]; int main() {int…

用户统计开发思路

1. 需求分析 所谓用户统计&#xff0c;实际上统计的是用户的数量。通过折线图来展示&#xff0c;上面这根蓝色线代表的是用户总量&#xff0c;下边这根绿色线代表的是新增用户数量&#xff0c;是具体到每一天。所以说用户统计主要统计两个数据&#xff0c;一个是总的用户数量&…

我开源了一个短视频应用(Go+React)|DouTok2.0 项目介绍

前言 大家好&#xff0c;这里是白泽&#xff0c;拖更了一段时间&#xff0c;抱歉。在 DouTok2.0 可以初步允许大家接入开发之后&#xff0c;这篇文章才得以出炉。 DouTok&#xff1a;一个开源的 web 端的短视频应用&#xff0c;采用微服务架构&#xff0c;包含前后端&#xff…

JavaEE初阶---网络原理之TCP篇(二)

文章目录 1.断开连接--四次挥手1.1 TCP状态1.2四次挥手的过程1.3time_wait等待1.4三次四次的总结 2.前段时间总结3.滑动窗口---传输效率机制3.1原理分析3.2丢包的处理3.3快速重传 4.流量控制---接收方安全机制4.1流量控制思路4.2剩余空间大小4.3探测包的机制 5.拥塞控制---考虑…