Linux下的WEB服务器的搭建实战_linux搭建web服务器-程序员宅基地

技术标签: Linux运维  linux  前端  服务器  

Linux下的web服务器搭建详细过程

每次搭建一个服务器之前,比如MySQL、DNS、WEB等首先要挂载磁盘目录文件
挂载就是当要使用某个设备时(例如光盘或软盘),必须先将它们对应放到 Linux 系统中的某个目录上。其中对应的目录就叫作挂载点。只有经过操作之后,用户或程序才能访问到这些设备。这个操作过程就叫作文件系统的挂载。这里/dev/sr0是软盘,/mnt/cdrom是挂载点

一、搭建Web服务器

[root@wry139 ~]# mount /dev/sr0 /mnt/cdrom/
mount: /dev/sr0 写保护,将以只读方式挂载
mount: /dev/sr0 已经挂载或 /mnt/cdrom 忙
       /dev/sr0 已经挂载到 /mnt/cdrom 上
[root@wry139 ~]# 

使用yum命令查找httpd服务

[root@wry139 ~]# yum search httpd
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
======================== N/S matched: httpd ========================
httpd.x86_64 : Apache HTTP Server

下载安装httpd服务

[root@wry139 ~]# yum install httpd.x86_64 -y

启动httpd服务,并查看httpd服务状态情况

[root@wry139 ~]# systemctl start httpd
[root@wry139 ~]# systemctl status httpd

在我们的物理机上做访问WEB网页的实验
首先要保证物理机与虚拟机在同一个网段,而且能够ping通
详情可以查看这篇文章:https://blog.csdn.net/qq_48111800/article/details/124693571?spm=1001.2014.3001.5501

[root@wry139 ~]# ping -c 4 192.168.67.1
PING 192.168.67.1 (192.168.67.1) 56(84) bytes of data.
64 bytes from 192.168.67.1: icmp_seq=1 ttl=128 time=0.300 ms
64 bytes from 192.168.67.1: icmp_seq=2 ttl=128 time=0.644 ms
64 bytes from 192.168.67.1: icmp_seq=3 ttl=128 time=0.530 ms
64 bytes from 192.168.67.1: icmp_seq=4 ttl=128 time=0.774 ms

--- 192.168.67.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3017ms
rtt min/avg/max/mdev = 0.300/0.562/0.774/0.174 ms

在这里插入图片描述

开启防火墙的tcp的80端口

[root@wry139 ~]# firewall-cmd --permanent --add-port=80/tcp
success
[root@wry139 ~]# firewall-cmd --permanent --add-service=http
success
[root@wry139 ~]# firewall-cmd --reload
success

此时已经可以在物理机的浏览器输入虚拟机IP地址查看到HTTP的首页
如果发现超时那就是因为防火墙的问题,检查一下自己的虚拟机防火墙端口和服务都开放了么
如果都开放了还提示:HTTP/1.1 Forbidden被拒绝,意思是权限不够,可以关闭物理机的防火墙试试
在这里插入图片描述
开始编辑配置文件来搭建个人网页

[root@wry139 ~]# cd /etc/httpd/conf
[root@wry139 conf]# ls
httpd.conf  magic
[root@wry139 conf]# cp httpd.conf httpd.conf.bak
[root@wry139 conf]# vi httpd.conf

补充:命令模式下:set nu可以显示文件行数
配置所有的访问请求都授权了
在这里插入图片描述
在httpd.conf这个配置文件中配置浏览器访问的网页根目录:可以自定义更改
在这里插入图片描述
开放访问/var/www目录的权限
在这里插入图片描述
Options Indexes FollowSymLinks语句:如果该虚拟目录下没有 index.html,浏览器会显示该虚拟目录的目录结构,列出该虚拟目录下的文件和子目录。

在这里插入图片描述
AllowOverride None: 完全忽略.htaccess 文件(超文本文件)

在这里插入图片描述

设置浏览器默认访问的网页为index.html
在这里插入图片描述

创建一个简单的测试网页

[root@wry139 conf]# cd /var/www/html
[root@wry139 html]# mkdir stu
[root@wry139 html]# cd stu/
[root@wry139 stu]# echo "this student score web">index.html
[root@wry139 stu]# cat index.html 
this student score web

在这里插入图片描述
测试Options Indexes FollowSymLinks属性:

[root@wry139 stu]# ls
index.html
[root@wry139 stu]# rm -rf index.html 
[root@wry139 stu]# touch 1.txt 2.txt 
[root@wry139 stu]# ls
1.txt  2.txt
[root@wry139 stu]# 

在这里插入图片描述
测试成功
至此Web服务器搭建完成,下面是基于web服务器搭建完成之后的拓展实验,如果只是想搭建服务器可以不看下去

二、基于多个虚拟主机IP、基于多个虚拟端口、基于个人Web站点的Web网站

1.搭建基于IP地址的虚拟主机

[root@wry139 ~]# cd /etc/sysconfig/network-scripts/
[root@wry139 network-scripts]# ls
[root@wry139 network-scripts]# vi ifcfg-ens33 

在文件中的IP地址字段下面添加两个IP地址

IPADDR1=192.168.67.100
IPADDR2=192.168.67.200

重启网络服务,查看虚拟机的IP地址,发现确实多了两个IP地址

[root@wry139 network-scripts]# systemctl restart network
[root@wry139 network-scripts]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:40:8b:67 brd ff:ff:ff:ff:ff:ff
    inet 192.168.67.139/24 brd 192.168.67.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 192.168.67.100/24 brd 192.168.67.255 scope global secondary noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 192.168.67.200/24 brd 192.168.67.255 scope global secondary noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::11b6:21f3:ebca:9c31/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

尝试ping通虚拟主机IP地址
在这里插入图片描述
配置虚拟主机IP地址的网页访问主目录和网页index.html文件

[root@wry139 network-scripts]# cd /var/www/
[root@wry139 www]# mkdir 100 200
[root@wry139 www]# echo 192.168.67.200 test website > 200/index.html 
[root@wry139 www]# echo 192.168.67.00 test website > 100/index.html 
[root@wry139 www]# 

配置虚拟主机ip地址的httpd配置文件
回到配置文件的目录下面,创建一个vhost目录,里面专门存放虚拟IP地址的配置文件,然后在httpd服务的主配置文件中引用这个目录

[root@wry139 www]# cd /etc/httpd/conf
[root@wry139 conf]# cd ..
[root@wry139 httpd]# ls
conf  conf.d  conf.modules.d  logs  modules  run
[root@wry139 httpd]# mkdir vhost
[root@wry139 httpd]# cd vhost/
[root@wry139 vhost]# touch 100.conf 200.conf
[root@wry139 vhost]# ls
100.conf  200.conf

配置虚拟主机IP的配置文件

[root@wry139 vhost]# vi 100.conf 
[root@wry139 vhost]# cat 100.conf 
<VirtualHost 192.168.67.100>
	DocumentRoot "/var/www/100"
	DirectoryIndex index.html
	<Directory "/var/www/100">
		Options Indexes FollowSymLinks
		AllowOverride None
		Require all granted
	</Directory>
</VirtualHost>
[root@wry139 vhost]# vi 200.conf 
[root@wry139 vhost]# cat 200.conf 
<VirtualHost 192.168.67.200>
	DocumentRoot "/var/www/200"
	DirectoryIndex index.html
	<Directory "/var/www/200">
		Options Indexes FollowSymLinks
		AllowOverride None
		Require all granted
	</Directory>
</VirtualHost>

配置/etc/httpd/conf/httpd.conf主配置文件引用vhost目录里的虚拟主机IP的.conf配置文件
补充:快捷键Shift+g可以直接到达文件最后一行
在主配置文件的末尾加上

IncludeOptional vhost/*.conf

重启httpd服务,在物理机浏览器查看虚拟主机IP的网页配置

[root@wry139 conf]# systemctl restart httpd

在这里插入图片描述
在这里插入图片描述

2.搭建基于端口号的虚拟主机

首先创建网页文件html

[root@wry139 vhost]# cd /var/www/
[root@wry139 www]# mkdir 8081 8082
[root@wry139 www]# ls
100  200  8081  8082  cgi-bin  html
[root@wry139 www]# echo 8081 port test web > 8081/index.html
[root@wry139 www]# echo 8082 port test web > 8082/index.html
[root@wry139 www]# 

然后在vhost目录下配置这两个虚拟端口的配置文件

[root@wry139 www]# cd /etc/httpd/
[root@wry139 httpd]# cd vhost/
[root@wry139 vhost]# cp  100.conf 8081.conf
[root@wry139 vhost]# cp  100.conf 8082.conf
[root@wry139 vhost]# ls
100.conf  200.conf  8081.conf  8082.conf
[root@wry139 vhost]# vi 8081.conf 
[root@wry139 vhost]# vi 8082.conf 
[root@wry139 vhost]# cat 8081.conf 
<VirtualHost 192.168.67.139:8081>
	DocumentRoot "/var/www/8081"
	DirectoryIndex index.html
	<Directory "/var/www/8081">
		Options Indexes FollowSymLinks
		AllowOverride None
		Require all granted
	</Directory>
</VirtualHost>
[root@wry139 vhost]# cat 8082.conf 
<VirtualHost 192.168.67.139:8082>
	DocumentRoot "/var/www/8082"
	DirectoryIndex index.html
	<Directory "/var/www/8082">
		Options Indexes FollowSymLinks
		AllowOverride None
		Require all granted
	</Directory>
</VirtualHost>

配置/etc/httpd/conf/httpd.conf主配置文件引用vhost目录里的虚拟主机IP的.conf配置文件,上面已经写了这一步了,然后还要配置端口号

[root@wry139 vhost]# vi ../conf/httpd.conf

在这里插入图片描述

配置完成保存退出,防火墙运行端口8081和8082通过,重启httpd服务,测试虚拟端口是否可用

[root@wry139 conf]# firewall-cmd --permanent --add-port=8081/tcp
success
[root@wry139 conf]# firewall-cmd --permanent --add-port=8082/tcp
success
[root@wry139 conf]# firewall-cmd --reload
success
[root@wry139 conf]# setenforce 0
[root@wry139 conf]# getenforce 
Permissive
[root@wry139 vhost]# systemctl restart httpd
[root@wry139 vhost]# 

在这里插入图片描述
在这里插入图片描述

3.个人Web站点的发布

[root@wry139 ~]# cd /etc/httpd/conf.d
[root@wry139 conf.d]# ls
autoindex.conf  README  userdir.conf  welcome.conf
[root@wry139 conf.d]# cp userdir.conf  userdir.conf.bak
[root@wry139 conf.d]# vi userdir.conf

在这里插入图片描述
在这里插入图片描述
配置完成,重启httpd服务

[root@wry139 conf.d]# systemctl restart httpd

使用用户user1访问个人网站
新增用户user1,并设置密码

[root@wry139 ~]# useradd user1
[root@wry139 ~]# passwd user1
更改用户 user1 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

创建个人站点网页文件

[root@wry139 ~]# su - user1
[user1@wry139 ~]$ cd ..
[user1@wry139 home]$ chmod -Rf 711 user1
[user1@wry139 home]$ mkdir -p user1/public_html/
[user1@wry139 home]$ echo user1 test website > user1/public_html/index.html

测试:
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_48111800/article/details/124693250

智能推荐

艾美捷Epigentek DNA样品的超声能量处理方案-程序员宅基地

文章浏览阅读15次。空化气泡的大小和相应的空化能量可以通过调整完全标度的振幅水平来操纵和数字控制。通过强调超声技术中的更高通量处理和防止样品污染,Epigentek EpiSonic超声仪可以轻松集成到现有的实验室工作流程中,并且特别适合与表观遗传学和下一代应用的兼容性。Epigentek的EpiSonic已成为一种有效的剪切设备,用于在染色质免疫沉淀技术中制备染色质样品,以及用于下一代测序平台的DNA文库制备。该装置的经济性及其多重样品的能力使其成为每个实验室拥有的经济高效的工具,而不仅仅是核心设施。

11、合宙Air模块Luat开发:通过http协议获取天气信息_合宙获取天气-程序员宅基地

文章浏览阅读4.2k次,点赞3次,收藏14次。目录点击这里查看所有博文  本系列博客,理论上适用于合宙的Air202、Air268、Air720x、Air720S以及最近发布的Air720U(我还没拿到样机,应该也能支持)。  先不管支不支持,如果你用的是合宙的模块,那都不妨一试,也许会有意外收获。  我使用的是Air720SL模块,如果在其他模块上不能用,那就是底层core固件暂时还没有支持,这里的代码是没有问题的。例程仅供参考!..._合宙获取天气

EasyMesh和802.11s对比-程序员宅基地

文章浏览阅读7.7k次,点赞2次,收藏41次。1 关于meshMesh的意思是网状物,以前读书的时候,在自动化领域有传感器自组网,zigbee、蓝牙等无线方式实现各个网络节点消息通信,通过各种算法,保证整个网络中所有节点信息能经过多跳最终传递到目的地,用于数据采集。十多年过去了,在无线路由器领域又把这个mesh概念翻炒了一下,各大品牌都推出了mesh路由器,大多数是3个为一组,实现在面积较大的住宅里,增强wifi覆盖范围,智能在多热点之间切换,提升上网体验。因为节点基本上在3个以内,所以mesh的算法不必太复杂,组网形式比较简单。各厂家都自定义了组_802.11s

线程的几种状态_线程状态-程序员宅基地

文章浏览阅读5.2k次,点赞8次,收藏21次。线程的几种状态_线程状态

stack的常见用法详解_stack函数用法-程序员宅基地

文章浏览阅读4.2w次,点赞124次,收藏688次。stack翻译为栈,是STL中实现的一个后进先出的容器。要使用 stack,应先添加头文件include<stack>,并在头文件下面加上“ using namespacestd;"1. stack的定义其定义的写法和其他STL容器相同, typename可以任意基本数据类型或容器:stack<typename> name;2. stack容器内元素的访问..._stack函数用法

2018.11.16javascript课上随笔(DOM)-程序员宅基地

文章浏览阅读71次。<li> <a href = "“#”>-</a></li><li>子节点:文本节点(回车),元素节点,文本节点。不同节点树:  节点(各种类型节点)childNodes:返回子节点的所有子节点的集合,包含任何类型、元素节点(元素类型节点):child。node.getAttribute(at...

随便推点

layui.extend的一点知识 第三方模块base 路径_layui extend-程序员宅基地

文章浏览阅读3.4k次。//config的设置是全局的layui.config({ base: '/res/js/' //假设这是你存放拓展模块的根目录}).extend({ //设定模块别名 mymod: 'mymod' //如果 mymod.js 是在根目录,也可以不用设定别名 ,mod1: 'admin/mod1' //相对于上述 base 目录的子目录}); //你也可以忽略 base 设定的根目录,直接在 extend 指定路径(主要:该功能为 layui 2.2.0 新增)layui.exten_layui extend

5G云计算:5G网络的分层思想_5g分层结构-程序员宅基地

文章浏览阅读3.2k次,点赞6次,收藏13次。分层思想分层思想分层思想-1分层思想-2分层思想-2OSI七层参考模型物理层和数据链路层物理层数据链路层网络层传输层会话层表示层应用层OSI七层模型的分层结构TCP/IP协议族的组成数据封装过程数据解封装过程PDU设备与层的对应关系各层通信分层思想分层思想-1在现实生活种,我们在喝牛奶时,未必了解他的生产过程,我们所接触的或许只是从超时购买牛奶。分层思想-2平时我们在网络时也未必知道数据的传输过程我们的所考虑的就是可以传就可以,不用管他时怎么传输的分层思想-2将复杂的流程分解为几个功能_5g分层结构

基于二值化图像转GCode的单向扫描实现-程序员宅基地

文章浏览阅读191次。在激光雕刻中,单向扫描(Unidirectional Scanning)是一种雕刻技术,其中激光头只在一个方向上移动,而不是来回移动。这种移动方式主要应用于通过激光逐行扫描图像表面的过程。具体而言,单向扫描的过程通常包括以下步骤:横向移动(X轴): 激光头沿X轴方向移动到图像的一侧。纵向移动(Y轴): 激光头沿Y轴方向开始逐行移动,刻蚀图像表面。这一过程是单向的,即在每一行上激光头只在一个方向上移动。返回横向移动: 一旦一行完成,激光头返回到图像的一侧,准备进行下一行的刻蚀。

算法随笔:强连通分量-程序员宅基地

文章浏览阅读577次。强连通:在有向图G中,如果两个点u和v是互相可达的,即从u出发可以到达v,从v出发也可以到达u,则成u和v是强连通的。强连通分量:如果一个有向图G不是强连通图,那么可以把它分成躲个子图,其中每个子图的内部是强连通的,而且这些子图已经扩展到最大,不能与子图外的任一点强连通,成这样的一个“极大连通”子图是G的一个强连通分量(SCC)。强连通分量的一些性质:(1)一个点必须有出度和入度,才会与其他点强连通。(2)把一个SCC从图中挖掉,不影响其他点的强连通性。_强连通分量

Django(2)|templates模板+静态资源目录static_django templates-程序员宅基地

文章浏览阅读3.9k次,点赞5次,收藏18次。在做web开发,要给用户提供一个页面,页面包括静态页面+数据,两者结合起来就是完整的可视化的页面,django的模板系统支持这种功能,首先需要写一个静态页面,然后通过python的模板语法将数据渲染上去。1.创建一个templates目录2.配置。_django templates

linux下的GPU测试软件,Ubuntu等Linux系统显卡性能测试软件 Unigine 3D-程序员宅基地

文章浏览阅读1.7k次。Ubuntu等Linux系统显卡性能测试软件 Unigine 3DUbuntu Intel显卡驱动安装,请参考:ATI和NVIDIA显卡请在软件和更新中的附加驱动中安装。 这里推荐: 运行后,F9就可评分,已测试显卡有K2000 2GB 900+分,GT330m 1GB 340+ 分,GT620 1GB 340+ 分,四代i5核显340+ 分,还有写博客的小盒子100+ 分。relaybot@re...

推荐文章

热门文章

相关标签