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

智能推荐

软件测试流程包括哪些内容?测试方法有哪些?_测试过程管理中包含哪些过程-程序员宅基地

文章浏览阅读2.9k次,点赞8次,收藏14次。测试主要做什么?这完全都体现在测试流程中,同时测试流程是面试问题中出现频率最高的,这不仅是因为测试流程很重要,而是在面试过程中这短短的半小时到一个小时的时间,通过测试流程就可以判断出应聘者是否合适,故在测试流程中包含了测试工作的核心内容,例如需求分析,测试用例的设计,测试执行,缺陷等重要的过程。..._测试过程管理中包含哪些过程

政府数字化政务的人工智能与机器学习应用:如何提高政府工作效率-程序员宅基地

文章浏览阅读870次,点赞16次,收藏19次。1.背景介绍政府数字化政务是指政府利用数字技术、互联网、大数据、人工智能等新技术手段,对政府政务进行数字化改革,提高政府工作效率,提升政府服务质量的过程。随着人工智能(AI)和机器学习(ML)技术的快速发展,政府数字化政务中的人工智能与机器学习应用也逐渐成为政府改革的重要内容。政府数字化政务的人工智能与机器学习应用涉及多个领域,包括政策决策、政府服务、公共安全、社会治理等。在这些领域,人工...

ssm+mysql+微信小程序考研刷题平台_mysql刷题软件-程序员宅基地

文章浏览阅读219次,点赞2次,收藏4次。系统主要的用户为用户、管理员,他们的具体权限如下:用户:用户登录后可以对管理员上传的学习视频进行学习。用户可以选择题型进行练习。用户选择小程序提供的考研科目进行相关训练。用户可以进行水平测试,并且查看相关成绩用户可以进行错题集的整理管理员:管理员登录后可管理个人基本信息管理员登录后可管理个人基本信息管理员可以上传、发布考研的相关例题及其分析,并对题型进行管理管理员可以进行查看、搜索考研题目及错题情况。_mysql刷题软件

根据java代码描绘uml类图_Myeclipse8.5下JAVA代码导成UML类图-程序员宅基地

文章浏览阅读1.4k次。myelipse里有UML1和UML2两种方式,UML2功能更强大,但是两者生成过程差别不大1.建立Test工程,如下图,uml包存放uml类图package com.zz.domain;public class User {private int id;private String name;public int getId() {return id;}public void setId(int..._根据以下java代码画出类图

Flume自定义拦截器-程序员宅基地

文章浏览阅读174次。需求:一个topic包含很多个表信息,需要自动根据json字符串中的字段来写入到hive不同的表对应的路径中。发送到Kafka中的数据原本最外层原本没有pkDay和project,只有data和name。因为担心data里面会空值,所以根同事商量,让他们在最外层添加了project和pkDay字段。pkDay字段用于表的自动分区,proejct和name合起来用于自动拼接hive表的名称为 ..._flume拦截器自定义开发 kafka

java同时输入不同类型数据,Java Spring中同时访问多种不同数据库-程序员宅基地

文章浏览阅读380次。原标题:Java Spring中同时访问多种不同数据库 多样的工作要求,可以使用不同的工作方法,只要能获得结果,就不会徒劳。开发企业应用时我们常常遇到要同时访问多种不同数据库的问题,有时是必须把数据归档到某种数据仓库中,有时是要把数据变更推送到第三方数据库中。使用Spring框架时,使用单一数据库是非常容易的,但如果要同时访问多个数据库的话事件就变得复杂多了。本文以在Spring框架下开发一个Sp..._根据输入的不同连接不同的数据库

随便推点

EFT试验复位案例分析_eft电路图-程序员宅基地

文章浏览阅读3.6k次,点赞9次,收藏25次。本案例描述了晶振屏蔽以及开关电源变压器屏蔽对系统稳定工作的影响, 硬件设计时应考虑。_eft电路图

MR21更改价格_mr21 对于物料 zba89121 存在一个当前或未来标准价格-程序员宅基地

文章浏览阅读1.1k次。对于物料价格的更改,可以采取不同的手段:首先,我们来介绍MR21的方式。 需要说明的是,如果要对某一产品进行价格修改,必须满足的前提条件是: ■ 1、必须对价格生效的物料期间与对应会计期间进行开启; ■ 2、该产品在该物料期间未发生物料移动。执行MR21,例如更改物料1180051689的价格为20000元,系统提示“对于物料1180051689 存在一个当前或未来标准价格”,这是因为已经对该..._mr21 对于物料 zba89121 存在一个当前或未来标准价格

联想启天m420刷bios_联想启天M420台式机怎么装win7系统(完美解决usb)-程序员宅基地

文章浏览阅读7.4k次,点赞3次,收藏13次。[文章导读]联想启天M420是一款商用台式电脑,预装的是win10系统,用户还是喜欢win7系统,该台式机采用的intel 8代i5 8500CPU,在安装安装win7时有很多问题,在安装win7时要在BIOS中“关闭安全启动”和“开启兼容模式”,并且安装过程中usb不能使用,要采用联想win7新机型安装,且默认采用的uefi+gpt模式,要改成legacy+mbr引导,那么联想启天M420台式电..._启天m420刷bios

冗余数据一致性,到底如何保证?-程序员宅基地

文章浏览阅读2.7k次,点赞2次,收藏9次。一,为什么要冗余数据互联网数据量很大的业务场景,往往数据库需要进行水平切分来降低单库数据量。水平切分会有一个patition key,通过patition key的查询能..._保证冗余性

java 打包插件-程序员宅基地

文章浏览阅读88次。是时候闭环Java应用了 原创 2016-08-16 张开涛 你曾经因为部署/上线而痛苦吗?你曾经因为要去运维那改配置而烦恼吗?在我接触过的一些部署/上线方式中,曾碰到过以下一些问题:1、程序代码和依赖都是人工上传到服务器,不是通过工具进行部署和发布;2、目录结构没有规范,jar启动时通过-classpath任意指定;3、fat jar,把程序代码、配置文件和依赖jar都打包到一个jar中,改配置..._那么需要把上面的defaultjavatyperesolver类打包到插件中

VS2015,Microsoft Visual Studio 2005,SourceInsight4.0使用经验,Visual AssistX番茄助手的安装与基本使用9_番茄助手颜色-程序员宅基地

文章浏览阅读909次。1.得下载一个番茄插件,按alt+g才可以有函数跳转功能。2.不安装番茄插件,按F12也可以有跳转功能。3.进公司的VS工程是D:\sync\build\win路径,.sln才是打开工程的方式,一个是VS2005打开的,一个是VS2013打开的。4.公司库里的线程接口,在CmThreadManager.h 里,这个里面是我们的线程库,可以直接拿来用。CreateUserTaskThre..._番茄助手颜色

推荐文章

热门文章

相关标签