(Linux)搭建静态网站——基于http/https协议的静态网站

简单了解nginx配置文件

在这里插入图片描述

1.下载并开启nginx服务

  1. 下载
    [root@localhost ~]# dnf install nginx -y
  2. 开启
    [root@localhost ~]# systemctl restart nginx

1.(1)搭建静态网站——基于http协议的静态网站

实验1:搭建一个web服务器,访问该服务器时显示“hello world”欢迎界面
  1. 进入指定目录文件下,/usr/share/nginx/html 是 Nginx Web 服务器的默认根目录,用于存放静态文件。当你访问配置了 Nginx 的域名或 IP 地址时,Nginx 会从这个目录中查找并返回相应的文件。
    [root@localhost ~]# cd /usr/share/nginx/html

  2. 写入指定内容"hello world"

    [root@localhost html]# echo "hello world" > index.html
    #或者
    [root@localhost html]# vim index.html
    hello world
    
  3. 使用 curl 工具来发送 HTTP 请求,并获取响应(验证是否配置成功)

    #向本地服务器发送一个 HTTP 请求,并返回服务器的响应
    [root@localhost html]# curl localhost
    hello world
    #或者
    #向该 IP 地址发送一个 HTTP 请求,并返回服务器的响应。
    [root@localhost html]# curl 192.168.190.131
    hello world
    
实验2:建立两个基于ip地址访问的网站,要求如下
  • 该网站ip地址的主机位为100,设置首页目录为/www/ip/100,网页内容为:this is 100
  • 该网站ip地址主机位为200,设置首页目录为/www/ip/200,网页内容为:this is 200
  1. 创建文件

    [root@localhost ~]# mkdir -pv /www/ip/{1,2}00
    mkdir: created directory '/www'
    mkdir: created directory '/www/ip/100'
    mkdir: created directory '/www/ip/200'#显示目录 /www/ 的状态信息
    [root@localhost ~]# stat /www/File: /www/Size: 32        	Blocks: 0          IO Block: 4096   directory
    Device: fd00h/64768d	Inode: 102252363   Links: 4
    Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
    Context: unconfined_u:object_r:default_t:s0
    Access: 2024-11-06 16:33:32.107790537 +0800
    Modify: 2024-11-06 16:33:32.109790471 +0800
    Change: 2024-11-06 16:33:32.109790471 +0800Birth: 2024-11-06 16:33:32.107790537 +0800
    
  2. 添加IP地址

    [root@localhost ~]# nmcli connection modify ens160 +ipv4.addresses 192.168.168.100/24 +ipv4.gateway 192.168.168.2 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes[root@localhost ~]# nmcli connection modify ens160 +ipv4.addresses 192.168.190.200/24 #激活ens160的网络连接。
    [root@localhost ~]# nmcli connection up ens160
    

    或者:
    [root@localhost ~]# nmtui–利用图形化工具更便捷

    在这里插入图片描述

    image-20241106160915150

    在这里插入图片描述

  3. 配置子配置文件
    setenforce 0 命令将 selinux 的模式设置为 Permissive 模式。在 Permissive 模式下,selinux 会记录违反策略的行为,但不会阻止这些行为。换句话说,系统会继续执行操作,但会记录下所有违反 selinux 策略的行为。

    [root@localhost ~]# cd /etc/nginx/conf.d
    [root@localhost conf.d]# vim test_ip.conf
    server {listen 192.168.190.100:80;server_name _;root /www/ip/100;
    }
    server {listen 192.168.190.200:80;server_name _;root /www/ip/200;
    }
    #设置selinux,必须设置,否则无法看到网页页面内容
    [root@localhost conf.d]# setenforce 0
    [root@localhost conf.d]# curl 192.168.190.100
    this is 100
    [root@localhost conf.d]# curl 192.168.190.200
    this is 200
    
实验3:建立两个基于不同端口访问的网站,要求如下:
  • 建立一个使用web服务器默认端口的网站,设置网站首页目录为/www/port/80,网页内容为:the port is 80。
  • 建立一个使用10000端口的网站,设置网站首页目录为/www/port/10000,网页内容为:the port is 10000。
#创建文件
[root@localhost ~]# mkdir /www/port/{80.10000}
#对应分别写入index.html内容
[root@localhost ~]# echo this port is 80 > /www/port/80/index.html
[root@localhost ~]# echo this port is 10000 > /www/port/10000/index.html
#切换目录(便于操作)
[root@localhost ~]# cd /etc/nginx/conf.d/
#在conf文件中写入服务连接
[root@localhost conf.d]# vim test_port.conf 
server {listen 192.168.190.10:80;server_name _;root /www/port/80;
}server {listen 192.168.190.10:10000;root /www/port/10000;location / {}
}   
#重启服务生效
[root@localhost ~]# systemctl restart nginx
#用curl验证是否生效
[root@localhost ~]# curl 192.168.190.10:80
the port is 80
[root@localhost ~]# curl 192.168.190.10:10000
the port is 10000
实验4:建立两个基于域名访问的网站,要求如下:
  • 新建一个网站,域名为www.ceshi.com,设置网站首页目录为/www/name,网页内容为this is test。
  • 新建一个网站,域名为rhce.first.day,同时可通过ce.first.day访问,设置网站首页目录为/www/ce,网页内容为:today is first day of class
#创建目录文件
[root@localhosts ~]# mkdir /www/{name,ce}
#写内容到index.html
[root@localhosts ~]# echo today is first day of class >> /www/ce/index.html
[root@localhosts ~]# echo this is test >> /www/name/index.html
#创建并编辑网页访问文件
[root@localhosts conf.d]# vim test_servername.conf
#添加如下内容
server {listen 192.168.190.10:80;server_name www.ceshi.com;root /www/name;
}
server {listen 192.168.190.10:80;server_name rhce.first.day ce.first.day;root /www/ce;location / {}
}       
[root@localhosts conf.d]# vim /etc/hosts
#添加如下内容
192.168.190.10 localhosts www.ceshi.com rhce.first.day ce.first.day
#查看修改的内容是否有问题
[root@localhosts conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
#重启服务
[root@localhosts conf.d]# systemctl restart nginx
#访问
[root@localhosts conf.d]# curl www.ceshi.com
this is test
[root@localhosts conf.d]# curl rhce.first.day
today is first day of class
[root@localhosts conf.d]# curl ce.first.day
today is first day of class
实验5:基于虚拟目录和用户控制的web网站
#网页认证自动生成储存用户密码和用户名的文件---需要下载httpd-tools包来提供相应的服务
[root@localhosts ~]# dnf install httpd-tools -y
#创建用户
[root@localhosts nginx]# htpasswd -cb /etc/nginx/conf.d/auth-password user1 123
#新建文件目录--作为实际访问目录,并写入实际访问的内容index.html
[root@localhosts ~]# mkdir /www/real
[root@localhosts ~]# echo real > /www/real/index.html
#编辑网页访问
[root@localhosts conf.d]# vim  test_virtual.conf
server{listen 192.168.190.131:80;root /usr/share/nginx/index;location /real {alias /www/real;auth_basic on;auth_basic_user_file /etc/nginx/conf.d/auth_password;}}
[root@localhosts conf.d]# nginx -t
[root@localhosts conf.d]# systemctl restart nginx
#访问
[root@localhosts conf.d]#  curl user1:123@192.168.190.131/real/
real
[root@localhosts conf.d]#  curl 192.168.190.131/real/ -u user1
Enter host password for user 'user1':
real

1.(2)搭建静态网站——基于https协议的静态网站

(1).添加IP
# 添加ip
[root@localhosts ~]# nmcli connection modify ens160 +ipv4.addresses 192.168.190.20/24
# 激活更新网卡
[root@localhosts ~]# nmcil c up ens160
(2).创建访问路径
[root@localhosts ~]# mkdir -pv /www/https
# 写入index.html内容
[root@localhosts ~]# echo https > /www/https/index.html
(3).生成私钥和证书

/etc/pki/tls/certs/ 目录通常存储与 TLS(传输层安全性)相关的证书文件,这些文件在 Linux 系统中用于确保安全通信

[root@localhosts ~]# cd /etc/pki/tls/certs/
# 得到一个包含新生成的 RSA 私钥的文件 https.key
[root@localhosts certs]# openssl genrsa -out https.key
#生成一个自签名的 X.509 证书,并将其保存到名为 https.crt 的文件中
[root@localhosts certs]# openssl req -utf8 -new -key https.key -x509 -days 100 - https.crt
# 查看是否成功
[root@localhosts certs]# ls
ca-bundle.crt  ca-bundle.trust.crt  https.crt  https.key
(4).配置网页访问配置文件
[root@localhosts certs]# vim /etc/nginx/conf.d/test_https.conf
[root@localhosts certs]# cat /etc/nginx/conf.d/test_https.conf
server {listen 192.168.190.20:443 ssl;root /www/https;ssl_certificate /etc/pki/tls/certs/https.crt;ssl_certificate_key /etc/pki/tls/certs/https.key;location / {}
}
# 检验.conf文件是否能够生效
[root@localhosts certs]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
#重启生效
[root@localhosts certs]# systemctl restart nginx
(5).访问测试
[root@localhosts certs]# curl --insecure https://192.168.190.20
https
[root@localhosts certs]# curl -k https://192.168.190.20
https

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

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

相关文章

含有非期望产出的EBM模型及其改进模型

含有非期望产出的EBM模型及其改进模型 今天推出的是含有非期望产出的EBM模型及其两种改进模型。 **参考文献:《基于数字经济要素组合的绿色全要素生产率提升研究中的模型》**杜娟,张子承,王熠 本文构建了考虑非期望产出的改进EBM&#xff…

VScode学习前端-01

小问题合集: vscode按!有时候没反应,有时候出来,是因为------>必须在英文状态下输入! 把鼠标放在函数、变量等上面,会自动弹出提示,但挡住视线,有点不习惯。 打开file->pre…

使用 .NET 创建新的 WPF 应用

本教程介绍如何使用 Visual Studio 创建新的 Windows Presentation Foundation (WPF) 应用。 使用 Visual Studio,可以向窗口添加控件以设计应用的 UI,并处理这些控件中的输入事件以与用户交互。 在本教程结束时,你有一…

自存 sql常见语句和实际应用

关于连表 查询两个表 SELECT * FROM study_article JOIN study_article_review 查询的就是两个表相乘,结果为两个表的笛卡尔积 相这样 这种并不是我们想要的结果 通常会添加一些查询条件 SELECT * FROM study_articleJOIN study_article_review ON study_art…

嵌入式linux中QT信号与槽基本操作与实现

大家好,今天主要给大家分享一下,如何使用linux系统上的QT进行界面开发与实现。 第一:QT的信号与槽基本简介 在操作QT的时候,可以使用里面的信号与槽。所谓信号就是一个对象发出的信号,槽就是当这个对象发出这个信号时,对应连接的槽就发被执行或者触发。 进行信号与槽的连…

机器学习—学习曲线

学习曲线是帮助理解学习算法如何工作的一种方法,作为它所拥有的经验的函数。 绘制一个符合二阶模型的学习曲线,多项式或二次函数,画出交叉验证错误Jcv,以及Jtrain训练错误,所以在这个曲线中,横轴将是Mtrai…

【SpringBoot】什么是Maven,以及如何配置国内源实现自动获取jar包

前言 🌟🌟本期讲解关于Maven的了解和如何进行国内源的配置~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 &#x1f3…

基于xr-frame实现微信小程序的手部、手势识别3D模型叠加和石头剪刀布游戏功能

前言 xr-frame是一套小程序官方提供的XR/3D应用解决方案,基于混合方案实现,性能逼近原生、效果好、易用、强扩展、渐进式、遵循小程序开发标准。xr-frame在基础库v2.32.0开始基本稳定,发布为正式版,但仍有一些功能还在开发&#…

【Word】一键批量引用论文上标——将正文字体改为上标格式

【Word】一键批量引用论文上标——将正文字体改为上标格式 写在最前面Word一键批量引用论文上标技巧分享核心思路:Word 替换功能 通配符步骤详解1. 打开 Word 替换功能2. 输入通配符模式3. 设置替换格式为上标4. 批量替换 实际效果展示技巧扩展 🌈你好呀…

vue-next-admin框架配置(vue)

vue-next-admin 先安装依赖 npm i 依赖, npm run dev 运行 1.配置代理 2.把他的逻辑和自己的登录判断逻辑结合(我的放下面,可以参考哦,可以直接使用,到时候修改登录逻辑就好),别忘了引入ajxio哦 const onSignIn async () &g…

CMake笔记:windows下构建一个简单项目

注:本人的临时记录,没什么参看价值,可移步https://cmake.org/cmake/help/v3.21/guide/tutorial/index.html 1. 概述 用CMake构建一个简单的项目,项目由一个exe以及一个dll组成,项目目录结构如上图,build_M…

Linux移植IMX6ULL记录 一:编译源码并支持能顺利进入linux

目录 前言 一、不修改文件进行编译 二、修改设备树文件进行编译 前言 我用的开发板是100_ask_imx6ull_pro,其自带的linux内核版本linux-4.9.88,然后从linux官网下载过来的linux-4.9.88版本的arch/arm/configs/defconfig和dts设备树文件并没有对imx6ull…

安卓手机root+magisk安装证书+抓取https请求

先讲一下有这篇文章的背景吧,在使用安卓手机fiddler抓包时,即使信任了证书,并且手机也安装了证书,但是还是无法捕获https请求的问题,最开始不知道原因,后来慢慢了解到现在有的app为了防止抓包,把…

linux 常用命令指南(存储分区、存储挂载、docker迁移)

前言:由于目前机器存储空间不够,所以‘斥巨资’加了一块2T的机械硬盘,下面是对linux扩容的一系列操作,包含了磁盘空间的创建、删除;存储挂载;docker迁移;anaconda3迁移等。 一、存储分区 1.1 …

学习虚幻C++开发日志——委托(持续更新中)

委托 官方文档:Delegates and Lamba Functions in Unreal Engine | 虚幻引擎 5.5 文档 | Epic Developer Community | Epic Developer Community 简单地说,委托就像是一个“函数指针”,但它更加安全和灵活。它允许程序在运行时动态地调用不…

Git入门图文教程 -- 深入浅出 ( 保姆级 )

01、认识一下Git!—简介 Git是当前最先进、最主流的分布式版本控制系统,免费、开源!核心能力就是版本控制。再具体一点,就是面向代码文件的版本控制,代码的任何修改历史都会被记录管理起来,意味着可以恢复…

多传感器融合slam过程解析【大白话版】

SLAM(同步定位与地图构建)是自动驾驶、机器人导航和三维建模的关键技术之一。多传感器融合(激光雷达、IMU、相机)进一步提升了SLAM的鲁棒性和适应性,使其能够在复杂环境中实时构建高精度地图。本文将围绕激光雷达IMU相…

蓝桥杯每日真题 - 第18天

题目:(出差) 题目描述(13届 C&C B组E题) 解题思路: 问题分析 问题实质是一个带权图的最短路径问题,但路径的权重包含两个部分: 从当前城市到下一个城市的路程时间。 当前城市的…

每日论文23-24ESSERC 6.4-16.1Ghz混合并联-串联谐振器

《A 6.4-to-16.1GHz Hybrid Parallel-Series Resonator Mode-Switching Oscillator with 206.6dBc/Hz FoMT at 1MHz Offset in 40nm CMOS》 24ESSERC 首先这篇文章有个地方我其实没太明白,它在title和行文的时候都写的是“ hybrid parallel-series resonator mode-…

<QNAP 453D QTS-5.x> 日志记录:在 Docker 中运行的 Flask 应用安装 自签名 SSL 证书 解决 Chrome 等浏览器证书安全

原因:Chrome 不信任 ssc 证书 使启用了 HTTPS,即使有使用 自签名证书 (self-signed certificate 非由可信的证书颁发机构 【CA,Certificate Authority】签发的)。浏览器 Chrome 默认不信任自签名证书,也会报 NET::ERR_…