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

news2024/11/22 5:15:28

简单了解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 +0800
     Birth: 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.coloradmin.cn/o/2245107.html

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

相关文章

爬取网易云音乐热歌榜:从入门到实战

爬取网易云音乐热歌榜:从入门到实战 前提声明 爬虫应遵守目标网站的robots.txt协议,尊重版权和用户隐私。本代码仅供学习和研究使用,不得用于商业用途。请确保在合法合规的前提下使用本代码。本代码所爬音乐为公开可选择的音乐 目录 引言…

Quality minus junk论文阅读

Quality minus junk论文阅读 文章目录 Quality minus junk论文阅读 AbstractTheoretical FrameworkEmpirical AnalysisDataQuality scorePortfoliosEx ante quality forecasts fundamentals Results and DiscussionThe price of qualityUnderstanding the price of quality: th…

利用RAGflow和LM Studio建立食品法规问答系统

前言 食品企业在管理标准、法规,特别是食品原料、特殊食品法规时,难以通过速查法规得到准确的结果。随着AI技术的发展,互联网上出现很多AI知识库的解决方案。 经过一轮测试,找到问题抓手、打通业务底层逻辑、对齐行业颗粒度、沉…

类和对象——拷贝构造函数,赋值运算符重载(C++)

1.拷⻉构造函数 如果⼀个构造函数的第⼀个参数是自身类类型的引用,且任何额外的参数都有默认值,则此构造函数也叫做拷贝构造函数,也就是说拷贝构造是⼀个特殊的构造函数。 // 拷贝构造函数//d2(d1) Date(const Date& d) {_year d._yea…

浅谈软件开发中的yield关键字:从餐厅服务理解异步编程之美

在现代软件开发中,处理大量数据流时经常会遇到性能和内存消耗的问题。传统的编程方式往往是一次性获取所有数据,这就像餐厅厨师要把所有菜品做完才上菜一样,既不高效也不够灵活。而yield关键字的出现,为我们提供了一种优雅的解决方…

散户持股增厚工具:智能T0算法交易

最近市场很多都说牛市,但是大多数朋友怎么来的又怎么吐出去了。这会儿我们用T0的智能算法交易又可以增厚我们的持仓收益。简单来说,就是基于用户原有的股票持仓,针对同一标的,配合智能T0算法,每天全自动操作&#xff0…

[ 网络安全介绍 1 ] 什么是网络安全?

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

R语言4.3.0安装教程【附安装包】

R for Windows是一个免费的用于统计计算和统计制图的优秀工具,是R语言开发工具。它拥有数据存储和处理系统、数组运算工具(其向量、矩阵运算方面功能尤其强大)、完整连贯的统计分析工具、优秀的统计制图等功能。提供的图形界面,可…

【网络】Socket编程TCP/UDP序列化和反序列化理解应用层(C++实现)Json::Value

主页:醋溜马桶圈-CSDN博客 专栏:计算机网络原理_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.基于Socket的UDP和TCP编程介绍 1.1 基本TCP客户—服务器程序设计基本框架 ​编辑1.2 基本UDP客户—服务器程序设计基本框…

小熊派Nano接入华为云

一、华为云IoTDA创建产品 创建如下服务,并添加对应的属性和命令。 二、小熊派接入 根据小熊派官方示例代码D6完成了小熊派接入华为云并实现属性上传命令下发。源码:小熊派开源社区/BearPi-HM_Nano 1. MQTT连接代码分析 这部分代码在oc_mqtt.c和oc_mq…

如何在 Ubuntu 上安装 Jellyfin 媒体服务器

Jellyfin 是一个开源的媒体服务器软件,让你可以整理、管理和流式传输你的个人媒体收藏,比如电影、音乐、电视节目和照片,而且完全免费,没有订阅费用或数据收集的担忧。 简介 媒体管理:Jellyfin 整理媒体库&#xff0…

Android集成FCM(Firebace Cloud Messaging )

集成FCM官方文档 Firebace主页面 将 Firebase 添加到您的 Android 应用 1、进入Firebace页面,创建自己的项目 2、点击自己创建好的项目,在右侧选择Cloud Messaging 3、点击Android去创建 google-services.json 4、将下载的 google-services.json 文件…

实时直播平台如何实现美颜功能?第三方美颜API与美颜SDK的技术

通过实时美颜技术,主播可以轻松实现肤色优化、五官调整以及滤镜效果,极大提升观众的观看体验。本篇文章,小编将深入讲解实时直播平台如何通过第三方美颜API与美颜SDK实现美颜功能,以及其中的技术实现与关键要点。 一、实时美颜的…

使用GDB或Delve对已经运行起来的Go程序进行远程调试

同步发布在我的博客,欢迎来点赞。 使用 GDB 或 Delve 对已经运行起来的 Go 程序进行远程调试 使用 GDB 或 Delve 对已经运行起来的 Go 程序进行远程调试 背景 Java 程序可以很方便地通过 jdwp 参数指定一个对外端口进行远程调试,如 java \ -agentlib…

Ubuntu问题 -- 设置ubuntu的IP为静态IP (图形化界面设置) 小白友好

目的 为了将ubuntu服务器IP固定, 方便ssh连接人在服务器前使用图形化界面设置 设置 找到自己的网卡名称, 我的是 eno1, 并进入设置界面 查看当前的IP, 网关, 掩码和DNS (注意对应eno1) nmcli dev show掩码可以通过以下命令查看完整的 (注意对应eno1) , 我这里是255.255.255.…

实现一个string的indexof方法,给出时空复杂度估计

文心快码(BaiduComate)是基于百度文心大模型,在研发全流程全场景下为开发者提供辅助建议的智能代码助手。结合百度积累多年的编程现场大数据、外部优秀开源数据,可为开发者生成更符合实际研发场景的优秀代码,提升编码效率,释放“十…

ESP8266 STA模式TCP客户端 电脑手机网络调试助手

1.STA模式TCP客户端和电脑网络调试助手 2.STA模式TCP客户端和手机网络调试助手

【lamafactory BLEU ROUGLE L评测】

1、BLEU/ROUGLE评测界面 2、这个是用BLEU 和ROUGL来评测 目录:saves/Qwen2-7B-Chat/lora/eval_2024-11-14-16-28-19/ 在saves文件夹 生成的文件如下 all_results.json文件 说明模型在这个测试集上是不好的 3、可以查看预测结果的文件 predict_result.json

Ros Noetic 20.04 跑通mpc_ros包保姆级教程

前言: 本文将简述mpc_ros包在noetic20.04中的安装,mpc是 一种跟踪、MPC_ROS 是一个基于ROS(Robot Operating System)的模型预测控制(Model Predictive Control,MPC)库。该项目旨在为机器人控制提供一个灵活且高效的MPC实现,使得开发者能够在ROS环境中轻松集成和使用MPC…

游戏+AI的发展历程,AI技术在游戏行业的应用有哪些?

人工智能(AI)与游戏的结合,不仅是技术进步的体现,更是人类智慧的延伸。从最初的简单规则到如今的复杂决策系统,AI在游戏领域的发展历史可谓波澜壮阔。 早在2001年,就有研究指出游戏人工智能领域&#xff0…