linux的web服务介绍、安装部署、配置方法

WEB服务介绍

Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的交互操作的应用程序。
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。
实现web功能的服务:apache、nginx

HTTP概念
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出。
HTTP是基于B/S架构进行通信的,其客户端的实现程序主要是Web浏览器,例如Firefox、InternetExplorer、Google chrome、Safari、Opera等,此外,客户端的命令行工具还有elink、curl等。Web服务是基于TCP的,因此为了能够随时响应客户端的请求,Web服务器需要监听在80/TCP端口。这样客户端浏览器和Web服务器之间就可以通过HTTP进行通信了

HTTP发展阶段
0.9阶段
适用于各种数据信息的简洁快速传输,是一个交换信息的无序协议,仅仅限于文本传输。
1.X阶段
支持音频和视频的传输。
2.0阶段
支持动态页面

HTTP工作原理
HTTP是基于客户/服务器模式,且面向连接的。典型的HTTP事务处理有如下的过程:
(1)客户与服务器建立连接;
(2)客户向服务器提出请求;
(3)服务器接受请求,并根据请求返回相应的文件作为应答;
(4)客户与服务器关闭连接。

WEB服务部署

1.安装软件
yum install -y httpd
2.查看安装文件
rpm -ql httpd
/etc/httpd/conf/httpd.conf		......http的主配制文件
/etc/httpd/logs			......http的日志文件
/etc/httpd/modules			......存储模块的目录
/etc/httpd/run			......存储http运行时的进程和套接字文件
/etc/httpd/state		......存储http状态的目录
/etc/logrotate.d/httpd	......http日志滚动文件
rpm -ql httpd-filesystem
/var/www/html		.......网页的主站点目录
3.编辑配置文件
vim /etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd"	......定义服务的根目录
Listen 80			......监听的端口
Include conf.modules.d/*.conf		......辅助配置文件
User apache				......服务的拥有者
Group apache				......服务的所属组
ServerAdmin root@localhost		......发送邮件
ServerName www.example.com:80	......访问站点的域名
<Directory />				目录的访问控制
......
</Directory>
	DocumentRoot "/var/www/html"		.....网页的根目录
<Directory "/var/www/html">
Options Indexes FollowSymLinks		......访问控制选项
AllowOverride None				......是否认证(none:不认证。all:需要认证。authconfig:配置文件认证)
Require all granted
</Directory>
DirectoryIndex index.html			.......定义网页的文件名
ErrorLog "logs/error_log"			......错误日志
LogLevel warn					......记录日志的级别
CustomLog "logs/access_log" combined......记录正确访问网页的日志

WEB实例

一、用户认证限制
1)vim /etc/httpd/conf.d/1.conf
<directory /var/www/html/test>
Options Indexes FollowSymLinks …目录访问控制选项
AllowOverride AuthConfig …访问认证
order allow,deny …访问控制
allow from all
authname “kylin” …访问的名称
authtype basic …认证方式
authuserfile /var/www/html/test/.htpasswd …认证文件
require valid-user …认证通过的用户可以访问

2)创建认证用户文件
在这里插入图片描述
3)客户端访问
在这里插入图片描述

二、用户个人主页
1)修改配置文件 vim /etc/httpd/conf.d/userdir.conf <IfModule mod_userdir.c> UserDir public_html </IfModule>
2)更改家目录权限

在这里插入图片描述

3)创建目录
在这里插入图片描述
4)创建网页文件
在这里插入图片描述
三、虚拟目录
1)创建目录
在这里插入图片描述
2)编辑配置文件
alias /virtual /mnt/data
<directory “/mnt/data”>
allowoverride none
options indexes
Require all granted

注意:在apache2.4版本中,使用require进行访问控制,不再使用 order allow,deny进行访问控制。(require all granted | denied 允许|拒绝)
3)客户端访问
virtual目录为虚拟目录
在这里插入图片描述
四、网页的重定向
2XX:访问成功返回值
3XX:重定向返回值
4XX:客户端错误返回值
5XX:服务端错误返回值
1)准备2台主机
192.168.0.2 主web服务器
192.168.0.3 重定向服务器
2)编辑主服务器配置文件
redirect 301 /foo http://192.168.0.3
3)编辑重定向服务器(创建网页文件)
echo “192.168.0.3” >> /var/www/html/index.html
4)重启服务
systemctl restart httpd
5)客户端访问
使用客户端访问主服务器根目录下的foo目录
在这里插入图片描述
返回的页面由重定向服务器提供
在这里插入图片描述
五、虚拟主机
1)编辑配置文件
<virtualhost *:80>
DocumentRoot “/testpath”
ServerName www.example.com

<Directory /testpath>
allowoverride none
options indexes
Require all granted

2)创建目录
mkdir /testpath
3)创建网页文件
echo “test web” >> /testpath/index.html
4)重启服务器
systemctl restart httpd
5)客户端访问
在这里插入图片描述

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装Apache服务器 首先,需要安装Apache服务器作为Web服务器。在终端输入以下命令: ``` sudo apt-get update sudo apt-get install apache2 ``` 安装完成后,可以通过在浏览器输入服务器的IP地址,来访问Apache的默认欢迎页面。 2. 安装PHP Apache服务器可以与PHP一起使用,以便在网页实现动态内容。在终端输入以下命令: ``` sudo apt-get install php libapache2-mod-php php-mysql ``` 安装完成后,需要重启Apache服务器以使其生效: ``` sudo service apache2 restart ``` 3. 安装MySQL 如果要在Web应用程序使用数据库,则需要安装MySQL。在终端输入以下命令: ``` sudo apt-get install mysql-server ``` 在安装过程,会提示您设置MySQL root用户的密码。 4. 配置PHP和MySQL 默认情况下,PHP和MySQL是不连接的。要使它们连接,需要进行一些配置。 首先,需要打开PHP的配置文件php.ini: ``` sudo nano /etc/php/7.2/apache2/php.ini ``` 在文件搜索以下行: ``` ;extension=mysqli ``` 将其改为: ``` extension=mysqli ``` 保存并退出文件。 接下来,需要创建一个MySQL用户,以便Web应用程序可以与数据库交互。在终端输入以下命令: ``` sudo mysql -u root -p ``` 输入您在安装MySQL时设置的root密码。 接下来,输入以下命令以创建名为“webapp”的新用户: ``` CREATE USER 'webapp'@'localhost' IDENTIFIED BY 'password'; ``` 将“password”替换为您自己的密码。 接下来,授予用户对MySQL的访问权限: ``` GRANT ALL PRIVILEGES ON * . * TO 'webapp'@'localhost'; ``` 最后,刷新MySQL权限: ``` FLUSH PRIVILEGES; ``` 5. 部署Web应用程序 将Web应用程序的文件上传到服务器。可以使用FTP客户端或通过终端使用scp命令进行文件传输。将文件上传到Apache的默认网站根目录/var/www/html。 6. 配置虚拟主机 如果您需要在同一服务器上托管多个Web应用程序,则可以配置虚拟主机。这将允许每个应用程序都有自己的域名或子域名。 在终端,打开Apache的虚拟主机配置文件: ``` sudo nano /etc/apache2/sites-available/000-default.conf ``` 添加以下行: ``` <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html/app1 ServerName app1.example.com ServerAlias www.app1.example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> ``` 将“app1”替换为您的应用程序名称,将“example.com”替换为您的域名。 保存并退出文件。重复此步骤以为每个应用程序创建虚拟主机。 7. 重启Apache服务器 配置完成后,需要重启Apache服务器以使其生效: ``` sudo service apache2 restart ``` 现在,您的Web应用程序已成功部署并可以通过浏览器访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值