使用 Nginx 搭建个人网站的详细教程

这篇具有很好参考价值的文章主要介绍了使用 Nginx 搭建个人网站的详细教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

简介

环境准备

步骤一:安装 Nginx

步骤二:配置 Nginx

步骤三:编写网站文件

步骤四:访问您的网站

高级设置

使用 HTTPS 加密

安装 Certbot

获取 SSL 证书

配置 Nginx 启用 HTTPS

配置虚拟主机

防止 DDoS 攻击

限制请求速率

限制连接速率

总结


简介

Nginx 是一个高性能的 Web 服务器软件,它具有低内存占用、高并发处理能力、轻量级等特点,被广泛应用于互联网中。在本教程中,我们将使用 Nginx 搭建一个基于 HTML 的简单个人网站。

环境准备

在开始本教程之前,请确保您已经安装了以下软件:

Nginx

文本编辑器(例如 Notepad++、Sublime Text、Atom 等)

您还需要了解一些基本的 Linux 操作和命令,以便您能够在命令行中完成一些必要的操作。

步骤一:安装 Nginx

在 Ubuntu 系统中,您可以使用以下命令来安装 Nginx:

sudo apt update 
sudo apt install nginx

安装完成后,您可以使用以下命令来检查 Nginx 是否成功安装:

nginx -v

如果安装成功,您应该会看到 Nginx 的版本信息。

步骤二:配置 Nginx

Nginx 的配置文件位于 /etc/nginx/nginx.conf,您可以使用任何文本编辑器来编辑它。在本教程中,我们将使用 nano 编辑器:

sudo nano /etc/nginx/nginx.conf

在打开的文件中,您可以找到以下内容:

http { 
    ...
}

在 http 块中,我们需要添加以下内容来配置我们的个人网站:

server { 
    listen 80; 
    server_name your_domain.com; 
    root /var/www/your_domain.com; 

    index index.html; 

    location / { 
        try_files $uri $uri/ =404; 
    } 
}

其中,listen 指定了监听的端口号,这里我们使用默认的80端口;server_name 指定了网站的域名或 IP 地址,您需要将 your_domain.com 替换为您自己的域名或 IP 地址;root 指定了网站的根目录,这里我们将其设置为 /var/www/your_domain.com,您需要创建该目录并将您的网站文件放置在其中;index 指定了默认的索引文件,这里我们将其设置为 index.html;location 指定了请求的 URL 匹配规则,这里我们将所有的请求都指向静态文件,并返回404错误。

完成以上操作后,使用以下命令保存并退出配置文件:

Ctrl + X

Y

Enter

接下来,您需要测试您的 Nginx 配置文件是否正确,使用以下命令:

sudo nginx -t

如果您的配置文件没有错误,您应该会看到以下输出:

nginx: configuration file /etc/nginx/nginx.conf test is successful

最后,使用以下命令重启 Nginx 以使新的配置生效:

sudo systemctl restart nginx

步骤三:编写网站文件

在上一步中,我们指定了网站的根目录为 /var/www/your_domain.com,现在您需要在该目录下编写您的网站文件。例如,您可以创建一个名为 index.html 的文件,包含以下内容:

<!DOCTYPE html> 
<html> 
<head>
    <title>My Personal Website</title> 
</head> 
<body>          
    <h1>Welcome to My Personal Website</h1>  
    <p>Here you can learn more about me and my work.</p> 
</body> 
</html>

保存并退出文件后,您可以使用以下命令来检查您的网站文件是否被正确地放置在网站根目录下:

ls /var/www/your_domain.com

如果您的网站文件正确放置,您应该会看到 index.html 文件的信息。

步骤四:访问您的网站

现在,您已经完成了所有的配置和编写工作,您可以使用您的浏览器访问您的个人网站了。在浏览器中输入您的域名或 IP 地址,您应该能够看到您编写的网站内容。

恭喜您,您已经成功地使用 Nginx 搭建了一个基于 HTML 的简单个人网站。在您的网站中,您可以使用 HTML、CSS 和 JavaScript 等技术来设计和实现更加丰富的内容和功能。希望本教程能对您有所帮助。

高级设置

在上述步骤中,我们已经演示了如何使用 Nginx 搭建一个基本的静态网站。然而,对于更复杂的网站,您可能需要进行更多的配置和设置。在这里,我们将介绍一些高级设置,以帮助您更好地利用 Nginx。

使用 HTTPS 加密

对于涉及用户隐私的网站,使用 HTTPS 加密是非常重要的。在这里,我们将演示如何在 Nginx 中启用 HTTPS。

首先,您需要在您的服务器上安装 SSL 证书。您可以从许多商业 SSL 证书颁发机构购买证书,但是如果您的网站是个人网站,您可以使用免费的 Let's Encrypt SSL 证书。让我们看看如何使用 Certbot 工具获取和安装 Let's Encrypt SSL 证书。

安装 Certbot

您可以使用以下命令在 Ubuntu 上安装 Certbot:

sudo apt-get install certbot python3-certbot-nginx

获取 SSL 证书

一旦您安装了 Certbot,您可以使用以下命令获取 SSL 证书:

sudo certbot --nginx -d your_domain.com

在上述命令中,您需要将 your_domain.com 替换为您的域名。Certbot 将通过 Nginx 配置自动检测您的域名,并为您生成 SSL 证书。完成后,您可以在 /etc/letsencrypt/live/your_domain.com/ 目录下找到证书文件。

配置 Nginx 启用 HTTPS

接下来,您需要在 Nginx 配置文件中启用 HTTPS。在 /etc/nginx/sites-available/your_domain.com 文件中,将以下两行添加到 server 部分中:

listen 443 ssl; 
ssl_certificate /etc/letsencrypt/live/your_domain.com/fullchain.pem; 
ssl_certificate_key /etc/letsencrypt/live/your_domain.com/privkey.pem;

在上述配置中,ssl_certificate 和 ssl_certificate_key 分别指定您之前获取的 SSL 证书和密钥文件的位置。

最后,您需要将 HTTP 请求重定向到 HTTPS。在 server 部分中添加以下配置:

server {   
    listen 80;         
    server_name your_domain.com; 
    return 301 https://$server_name$request_uri; 
}

完成后,使用以下命令重新加载 Nginx 配置:

sudo systemctl reload nginx

现在,您的网站已经启用了 HTTPS 加密。您可以在浏览器中访问 https://your_domain.com,您应该能够看到已经启用了 HTTPS。

配置虚拟主机

如果您在同一台服务器上运行多个网站,您需要配置虚拟主机来确保每个网站都可以正确地运行。在 Nginx 中,您可以使用 server 块来配置虚拟主机。

虚拟主机是指在同一台服务器上,通过不同的域名或 IP 地址,来提供不同的网站服务。在 Nginx 中,可以通过配置虚拟主机来实现多个网站的部署。

我们可以在 /etc/nginx/sites-available/ 目录下创建一个虚拟主机配置文件,该文件的命名格式为 {domain}.conf,其中 {domain} 是您要绑定的域名。例如,如果您要将您的网站绑定到 example.com 域名上,则可以创建一个名为 example.com.conf 的文件。

在该文件中,我们可以使用以下语法定义虚拟主机:

server { 
    listen 80; 
    listen [::]:80; 
    server_name example.com www.example.com; 
    root /var/www/example.com/html; 
    index index.html; 
    access_log /var/log/nginx/example.com.access.log; 
    error_log /var/log/nginx/example.com.error.log; 

    location / { 
        try_files $uri $uri/ =404; 
    } 
}

在上述配置中,我们定义了一个名为 example.com 的虚拟主机。该虚拟主机监听端口 80,使用 example.com 和 www.example.com 两个域名来访问。虚拟主机的文件根目录为 /var/www/example.com/html,默认文档为 index.html,访问日志和错误日志分别存储在 /var/log/nginx/example.com.access.log 和 /var/log/nginx/example.com.error.log。

虚拟主机的 location 块定义了访问 / 路径时应该执行的操作。在上述配置中,我们将请求转发给了 $uri 或 $uri/,如果请求无法找到,则返回 404 错误。

完成虚拟主机配置后,我们需要使用 ln 命令创建一个符号链接到 /etc/nginx/sites-enabled/ 目录。该目录包含了 Nginx 服务器实际使用的虚拟主机配置文件。

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

然后重新加载 Nginx 服务器配置文件,使其生效。

sudo systemctl reload nginx

现在,您可以通过访问 example.com 或 www.example.com 来访问您的网站了。

以上是关于如何配置虚拟主机的介绍。需要注意的是,我们还可以使用 HTTPS 来保护您的网站,使其更加安全。在下一节中,我们将介绍如何使用 SSL 证书来启用 HTTPS。

防止 DDoS 攻击

DDoS 攻击是一种常见的网络攻击,攻击者会使用多个计算机向目标服务器发送大量请求,以使服务器不可用。在 Nginx 中,您可以使用限制请求速率和连接速率来防止 DDoS 攻击。

限制请求速率

限制请求速率可以防止攻击者发送大量请求来消耗服务器资源。您可以使用 Nginx 的 limit_req 模块来限制请求速率。

在 http 块中添加以下配置:

limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

在上述配置中,我们定义了一个名为 one 的请求限制区域,使用客户端的 IP 地址进行区分。我们将请求速率限制为每秒一次。

接下来,我们需要在虚拟主机中启用限制请求速率。在虚拟主机的 server 块中添加以下配置:

limit_req zone=one burst=5;

在上述配置中,我们将请求限制区域 one 应用于该虚拟主机,并设置了 burst 参数为 5。burst 参数指定了允许的最大瞬时请求数,超出该数值的请求将被拒绝。

限制连接速率

除了限制请求速率,您还可以使用 Nginx 的 limit_conn 模块来限制连接速率。该模块可以限制来自每个 IP 地址的并发连接数,从而防止攻击者使用过多的连接资源。

在 http 块中添加以下配置:

limit_conn_zone $binary_remote_addr zone=addr:10m;

在上述配置中,我们定义了一个名为 addr 的连接限制区域,使用客户端的 IP 地址进行区分。我们将连接限制区域的大小设置为 10MB。

接下来,我们需要在虚拟主机中启用限制连接速率。在虚拟主机的 server 块中添加以下配置:

limit_conn addr 10;

在上述配置中,我们将连接限制区域 addr 应用于该虚拟主机,并设置了最大连接数为 10。

总结

本教程介绍了如何使用 Nginx 搭建个人网站。我们首先安装了 Nginx,然后配置了虚拟主机和 SSL 证书。最后,我们介绍了如何使用限制请求速率和连接速率来防止 DDoS 攻击。

通过本教程,您现在应该已经了解了如何使用 Nginx 搭建个人网站,并掌握了一些基本的 Nginx 配置技巧。如有任何问题,请随时在评论区留言。文章来源地址https://www.toymoban.com/news/detail-444693.html

到了这里,关于使用 Nginx 搭建个人网站的详细教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何使用Jekyll在GitHub Pages上搭建网站(个人博客)

    本文很长,建议使用侧边栏进行跳转。 Jekyll 是一个基于 Ruby 语言的,用于搭建静态网站的生成器,主要用于搭建博客网站(官方自己的介绍为:Jekyll is a blog-aware, static site generator in Ruby)。但是虽然是静态网站,但是可以实现一些使用数据库的动态网站的效果和功能,是很不

    2024年02月06日
    浏览(84)
  • 【Linux】Centos 8 服务器部署:阿里云域名注册、域名解析、个人网站 ICP 备案详细教程

    目录 一、背景信息 二、操作步骤 (1)查询域名  (2)加入域名清单 (3)确认订单信息 (4)支付  (5)等待域名实名认证通过 三、域名注册成功 四、查看域名注册信息 五、申请免费的 SSL 证书  (1)上传 SSL 证书到服务器  (2)申请证书过程本地保存的信息  六、域名

    2024年01月18日
    浏览(54)
  • 「Cpolar」使用Typecho搭建个人博客网站【内网穿透实现公网访问】

    💂 作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较

    2024年02月02日
    浏览(87)
  • 使用树莓派搭建个人网站,并发布到外网可访问:实用步骤解析

    这非常适合设置您的第一个网站,不仅可以学习管理 wordpress 站点,还可以学习 Linux。您将需要一个树莓派(Raspberry Pi)、几个小时和一台计算机来下载映像。 树莓派(RPI) 是学习这些东西的完美设备。 下载适用于您的操作系统的树莓派镜像工具。它支持大多数操作系统(Window

    2024年02月09日
    浏览(40)
  • 使用OpenAI Assistants三分钟搭建个人知识库AI助手网站

    随着OpenAI将Assistants助手API对外发布,我们搭建个人知识库变的如此简单。开发者将自己的应用通过Assistants API与OpenAI对接,就可以让每一位客户拥有不一般体验的个人知识库。由于Assistants相关API有30+,本文只列举完成一个最小功能闭环涉及的接口。关于Assistants的介绍,这里

    2024年02月05日
    浏览(50)
  • 安卓手机使用Termux搭建Hexo个人博客网站【内网穿透公网访问】

    转载自cpolar极点云的文章:安卓手机使用Termux搭建Hexo个人博客网站【内网穿透公网访问】 Hexo 是一个用 Nodejs 编写的快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章,在几秒内,即可利用靓丽的主题生成静态网页。 下面介绍在Termux中安装个人hexo博客并结合cpolar工具

    2024年02月07日
    浏览(61)
  • 手机也能轻松搭建个人博客,使用安卓Termux+Hexo建立自己的网站

    Hexo 是一个用 Nodejs 编写的快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章,在几秒内,即可利用靓丽的主题生成静态网页。 下面介绍在Termux中安装个人hexo博客并结合cpolar工具实现远程访问。 Hexo 是用 Nodejs 编写的,所以安装的话先安装node.js,termux 也是封装了,一行命

    2024年02月09日
    浏览(54)
  • 一篇从零开始、步骤完整的网站搭建教程(全篇7000字、102张截图说明,力求每一个人都能看懂,附源码)

    从今年八月开始到现在自己也是从0开始做了有两个网站: 这中间也经常有不了解的地方需要去查。其实网上的资料也不少 但可能相对比较零散,需要反复的查来查去,费时又累心 那这次有时间就想着说写一篇从零开始、步骤完整的网站搭建教程 希望能帮助大家节省时间,不

    2023年04月09日
    浏览(48)
  • 【Github搭建网站】零基础零成本搭建个人Web网站~

    Github网站: https://github.com/ 这是我个人搭建的网站:https://xf2001.github.io/xf/ 大家可以搭建完后发评论区看看!!!   搭建教程: https://www.bilibili.com/video/BV1xc41147Vb/?spm_id_from=333.999.0.0vd_source=98bce7df38ecc1f989aee3edccd2f24e   目录 第一步:创建一个新的仓库 第二步:上传网站文件 第三

    2024年01月20日
    浏览(79)
  • 零基础!手把手教你使用VuePress2 + GitHub Pages免费搭建个人博客网站

    目录 介绍 VuePress2 pnpm 搭建 安装 Node.js 安装 pnpm 安装 VuePress step 1:创建文件夹并进入该目录 ​编辑 step 2:初始化项目 step 3:安装VuePress step 4:在 package.json 中修改 scripts step 5:创建目录和配置文件 step 6:将默认的临时目录和缓存目录添加到 .gitignore 文件中 step 7:启动服务

    2024年03月13日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包