从零学习Linux操作系统 第十九部分 web服务器的部署及优化

一、实验环境的设定

1、开启两台主机 设定其网络

从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第1张图片
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第2张图片

2、配置软件仓库

从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第3张图片

3、关闭selinux

从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第4张图片

4、另一台主机重复操作部署实验环境

二、什么是http和httpd

在web被访问时通常使用http://的方式
http:// 超文本传输协议
(网页就是一个文件)

http:// 超文本传输协议提供软件:
Apache
nginx
stgw
jfe
Tengine

而Apache是提供超文本传输协议众多软件中的一个
Apache的作用:对外使我们的主机能够提供超文本传输协议,通过这个协议能够共享我们主机的页面,从而可以让别人通过浏览器来访问

三、apache的安装及启用

安装.Apache
dnf install httpd.x86_64 -y
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第5张图片

安装超文本传输协议的守护进程
dnf install httpd
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第6张图片
启动
systemctl enable --now httpd
在这里插入图片描述
设定火墙
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第7张图片
接下就可以访问到默认提供的网页
在浏览器网址栏输入自己的IP
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第8张图片
如果想要发布自己的软件
就要编辑指定的文件
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第9张图片

四、Apache服务端口的更改

Apache的基本信息
服务名称:httpd
配置文件: /etc/httpd/conf/httpd.conf 主配置文件
/etc/httpd/conf.d/*.conf 子配置文件
默认发布目录: /var/www/html
默认发布文件: index.html
默认端口:80 http(非加密)
443 https(加密)
用户: Apache
日志: /etc/httpd/logs

Apache端口的修改
编辑主配置文件
vim /etc/httpd/conf/httpd.conf
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第10张图片
重启服务
systemctl restart httpd
设定火墙
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第11张图片
netstat -antlupe | grep httpd查看接口

在这里插入图片描述
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第12张图片

五、Apache默认测试页的设定

默认发布文件为
/var/www/html/index.html
此时新创建一个发布文件
vim /var/www/html/westos.html
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第13张图片
默认访问的是默认发布文件
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第14张图片
如果想要修改默认的发布文件

编辑主配置文件
vim /etc/httpd/conf/httpd.conf
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第15张图片
重新启动服务
systemctl restart httpd
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第16张图片

六、默认发布目录的设定

默认发布目录 /var/www/html/

建立一个目录
mkdir /westos/html -p
编辑一个文件
vim /westos/html/index.html
在这里插入图片描述

默认情况访问的是 /var/www/html/index.html
(默认发布文件)

如果想要默认访问的是发布目录

编辑主配置文件
vim /etc/httpd/conf/httpd.conf

从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第17张图片

重启服务
systemctl restart httpd

则 现在访问的就是默认发布目录
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第18张图片

七、对于Apache访问控制的安全优化

建立实验素材
mkdir /var/www/html/westos
echo “/var/www/html/westos’s page” > /var/www/html/westos/index.html

在这里插入图片描述
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第19张图片

设定IP黑白名单

1、设定ip白名单(只允许谁访问)

编辑主配置文件
vim /etc/httpd/conf/httpd.conf

从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第20张图片

重启服务
systemctl restart httpd

这时IP为192.168.3.100的主机能够访问
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第21张图片

而其余的主机则不能够访问
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第22张图片

2、设定ip黑名单(不允许谁访问)

编辑主配置文件
vim /etc/httpd/conf/httpd.conf
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第23张图片
重启服务
systemctl restart httpd

从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第24张图片

其余的主机均可以访问

从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第25张图片

设定用户黑白名单

首先先 生成认证文件
htpasswd -cm /etc/httpd/htpasswdfile admin
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第26张图片
(-c参数只有在认证文件不存在时添加,如果认证文件已经存在 -c参数会导致文件内容背覆盖)

要让Apache识别认证文件
编辑主配置文件
vim /etc/httpd/conf/httpd.conf
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第27张图片
重启系统 systemctl restart httpd

此时 只有admin用户能够访问

如果让所有的用户都能够访问
编辑主配置文件
vim /etc/httpd/conf/httpd.conf
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第28张图片
重启系统 systemctl restart httpd

八、Apache虚拟机的构建

生成两个站点的默认发布文件
建立
mkdir /var/www/virtual/westos.org/{news,bbs}/html -p

echo news.westos.org > /var/www/virtual/westos.org/news/html/index.html

echo bbs.westos.org > /var/www/virtual/westos.org/bbs/html/index.html

从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第29张图片
主站点 /var/www/html/index.html

现在有三个站点需要发布

编辑子配置目录下文件
vim /etc/httpd/conf.d/vhosts.conf
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第30张图片

systemctl restart httpd

测试:
在浏览器哦所在的主机中写本地解析

vim /etc/hosts
在这里插入图片描述

于是
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第31张图片
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第32张图片
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第33张图片

九、Apache对于3p语言的支持

1、php语言

cd /var/www/html/
建立一个php目录
编辑文件 vim /php/index.php
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第34张图片
(php的测试页)

安装php插件
dnf install php -y
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第35张图片
重启服务
systemctl restart httpd
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第36张图片

2、cgi

cgi 通用网关接口

要有一个程序把我们要执行的脚本儿首先让他执行完毕以后,再把执行的结果提交给Apache,让Apache发布

安装Apache的说明
dnf install httpd-manual -y

从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第37张图片
重启
systemctl restart httpd

建立cgi目录
mkdir /var/www/html/cgi
编辑文件 vim /var/www/html/cgi/index.cgi
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第38张图片
编辑子配置目录下文件
vim /etc/httpd/conf.d/vhosts.conf

从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第39张图片
重启 systemctl restart httpd

给cgi文件可执行权限
chmod +x /var/www/html/cgi/index.cgi

于是
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第40张图片

3、wsgi

与cgi功能类似 但wsgi执行的脚本使用python去写的

建立wsgi目录
mkdir /var/www/html/wsgi
编辑下文件 vim /var/www/html/wsgi/index.wsgi
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第41张图片

编辑子配置目录下文件
vim /etc/httpd/conf.d/vhosts.conf
在这里插入图片描述
重启 systemctl restart httpd

还要安装一个软件
dnf install python3-mod_wsgi.x96_64 -y
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第42张图片

还要在浏览器所在的主机编辑一个本地解析
vim /etc/hosts

从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第43张图片

于是 则可以访问
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第44张图片

十、Apache的加密访问

安装加密插件
dnf install mod_ssl -y
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第45张图片
重启
systemctl restart httpd

建立一个
mkdir /etc/httpd/certs
生成认证证书
openssl req --newkey rsa:2048 -nodes -sha256 -keyout /etc/httpd/certs/westos.org.key -x509 -days 365 -out /etc/httpd/certs/westos.org.crt
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第46张图片
在这里插入图片描述
接下来要让系统识别这个证书
编辑配置文件
vim /etc/httpd/conf.d/ssl.conf

从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第47张图片
重启服务
systemctl restart httpd

先新生成一个网址
在这里插入图片描述

编辑Apache虚拟主机的文件
vim /etc/httpd/conf.d/vhosts.conf
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第48张图片
重启服务 systemctl restart httpd

还要在浏览器所在的主机编辑一个本地解析
vim /etc/hosts
从零学习Linux操作系统 第十九部分 web服务器的部署及优化_第49张图片

在浏览器上输入login.westos.org
于是有
在这里插入图片描述

你可能感兴趣的:(服务器,学习,linux)