linux系统学习第九天-<<工程师技术>>

简介:

两台虚拟机,均要检测
1.IP地址
2.是否可以解析,server0.example.com
3.Yum是否可用

4.防火墙默认区域修改为trusted

####################################################

• 基于 B/S (Browser/Server)架构的网页服务
– 服务端提供网页
– 浏览器下载并显示网页
• Hyper Text Markup Language,超文本标记语言
• Hyper Text Transfer Protocol,超文本传输协议

 

• 软件包:httpd
• 系统服务:httpd


• 提供的默认配置
– Listen:监听地址:端口(80)
– ServerName:本站点注册的DNS名称(空缺)
– DocumentRoot:网页根目录(/var/www/html)
– DirectoryIndex:起始页/首页文件名(index.html)

#############################################
一、搭建基本Web服务
虚拟机Server0上:
1.安装httpd软件
2.启动httpd服务,并且设置 为开机自起
3.书写 网页文件
# echo My First Web > /var/www/html/index.html

虚拟机Desktop0上:
# elinks -dump 172.25.0.11

#############################################

– ServerName:本站点注册的DNS名称(空缺)

虚拟机Server0上:
1.修改主配文件的内容/etc/httpd/conf/httpd.conf
  vim中命令行模式全文查找:   /ServerName

   ServerName  server0.example.com:80

2.  重起httpd服务

虚拟机Desktop0上:
# elinks -dump server0.example.com

##############################################

– DocumentRoot:网页根目录(/var/www/html)

虚拟机Server0上:
1.修改主配文件的内容/etc/httpd/conf/httpd.conf
DocumentRoot  "/var/www/abc"
2.创建目录/var/www/abc
3.重起httpd服务
4.书写网页文件
# echo wo shi abc > /var/www/abc/index.html

虚拟机Desktop0上:
# elinks  -dump  server0.example.com     

##################################################

虚拟Web主机
    – 由同一台服务器提供多个不同的Web站点


   • 区分方式
    – 基于域名的虚拟主机
    – 基于端口的虚拟主机
    – 基于IP地址的虚拟主机

• 配置文件路径
– /etc/httpd/conf/httpd.conf   #主配置文件
– /etc/httpd/conf.d/*.conf     #从配置文件

 

  <VirtualHost *:80>
    ServerName www.qq.com
    DocumentRoot /var/www/qq
 </VirtualHost>

 帮助文档:/usr/share/doc/httpd-2.4.6/httpd-vhosts.conf
1.建立从配置文件
[root@server0 ~]# vim /etc/httpd/conf.d/nsd01.conf
 <VirtualHost   *:80>
    DocumentRoot   /var/www/test
    ServerName   www0.example.com
 </VirtualHost>

 <VirtualHost   *:80>
    DocumentRoot   /var/www/nsd
    ServerName   webapp0.example.com
 </VirtualHost>

2. 建立目录及相应的网页内容
# echo wo shi test > /var/www/test/index.html
# echo wo shi nsd > /var/www/nsd/index.html
3. 重起httpd服务

#################################################
  启用虚拟Web主机,所有的站点都必须用虚拟Web主机来实现

保证 server0.example.com可以访问

1.修改从配置文件
[root@server0 ~]# vim /etc/httpd/conf.d/nsd01.conf
  追加写入

 <VirtualHost   *:80>
    DocumentRoot   /var/www/abc
    ServerName   server0.example.com
 </VirtualHost>

2. 重起httpd服务

虚拟机Desktop0上:
# elinks  -dump  server0.example.com
 
################################################
 httpd服务访问控制

虚拟机server0:
1.创建目录与网页文件
# mkdir  /var/www/abc/private
# echo 小蝌蚪找妈妈  >  /var/www/abc/private/index.html
# cat  /var/www/abc/private/index.html
2.建立新的配置文件
[root@server0 ~]# vim /etc/httpd/conf.d/nsd02.conf
 <Directory   "/var/www/abc/private">
    Require   ip  172.25.0.11   127.0.0.1    #仅允许本机访问
 </Directory>

3 重起httpd服务

测试:  在Desktop0上访问失败,在Server0上访问可以
   elinks  -dump  server0.example.com/private      
    
###################################################
思路:客户端访问服务端资源
    1.防火墙是否限制
    2.服务本身的访问控制
  3.SELinux 是否限制


 SELinux策略保护

 1.安全上下文(标签)
[root@server0 ~]# chcon -R --reference=/var/www /webroot

• 方式1:参照标准目录,重设新目录的属性
– chcon [-R] --reference=模板目录 新目录

 使用自定Web根目录
1.修改配置文件 /etc/httpd/conf.d/nsd01.conf
<VirtualHost *:80>
    DocumentRoot /webroot
    ServerName server0.example.com
</VirtualHost>

2.创建目录与网页文件
# mkdir /webroot
# echo wo shi webroot > /webroot/index.html

3.修改访问控制配置文件,/etc/httpd/conf.d/nsd02.conf
 <Directory "/webroot">
    Require all granted
 </Directory>
 
4.修改SELinux标签值
# chcon -R --reference=/var/www /webroot

5.重起httpd服务验证
6.在Desktop0上: elinks  -dump  server0.example.com
############################################################  

 安全Web服务

    安全的超文本协议 https  端口为:443

PKI公钥基础设施
• Public Key Infrastructure,公钥基础设施
    – 公钥:主要用来加密数据
    – 私钥:主要用来解密数据(与相应的公钥匹配)
    – 数字证书:证明拥有者的合法性/权威性(单位名称、
    有效期、公钥、颁发机构及签名、......)
    – Certificate Authority,数字证书授权中心:负责证书
    的申请/审核/颁发/鉴定/撤销等管理工作


• HTTPS 加密Web通信(TCP 443端口)
– Secure Sockets Layer ,安全套接字层
– Transport Layer Security,安全传输层协议
• 实现条件
– 启用 SSL 模块支持
– 部署好加密素材:网站服务器的数字证书、网站服务
器的私钥、根证书(CA管理机构的证书)


虚拟机server0上操作:
1.安装mod_ssl软件包
[root@server0 ~]# yum -y install mod_ssl
[root@server0 ~]# ls /etc/httpd/conf.d/ssl.conf

2.部署网站的证书(营业执照)
# cd /etc/pki/tls/certs/
# wget http://172.25.254.254/pub/tls/certs/server0.crt

3.部署网站的根证书(公安局信息)
# cd /etc/pki/tls/certs/
# wget http://172.25.254.254/pub/example-ca.crt

4.部署私钥(用于解密)
# cd /etc/pki/tls/private/
# wget http://172.25.254.254/pub/tls/private/server0.key

5.修改配置文件/etc/httpd/conf.d/ssl.conf

<VirtualHost _default_:443>
59行  DocumentRoot "/webroot"
60行  ServerName server0.example.com:443
100行 SSLCertificateFile /etc/pki/tls/certs/server0.crt
107行SSLCertificateKeyFile /etc/pki/tls/private/server0.key
122行SSLCACertificateFile /etc/pki/tls/certs/example-ca.crt

6.重起httpd服务

虚拟机desktop0上验证:
[root@desktop0 ~]# firefox https://server0.example.com

######################################################
  部署动态网站

静态网站的运行
• 服务端的原始网页 = 浏览器访问到的网页


动态网站的运行
• 服务端的原始网页 ≠ 浏览器访问到的网页
– 由Web服务软件接受请求,动态程序转后端模块处理


案例6:部署并测试WSGI站点

1.安装支持Python软件
[root@server0 /]# yum -y install mod_wsgi

2.切换到相应/var/www/nsd目录下载动态页面

# cd /var/www/nsd/
# wget http://172.25.254.254/pub/materials/webinfo.wsgi
# cat webinfo.wsgi

3.在Desktop0上查看,可以看到源代码
# firefox  webapp0.example.com/webinfo.wsgi

4.server0上修改 /etc/httpd/conf.d/nsd01.conf

            /var/www/nsd  ==== 客户端的 /

 <VirtualHost  *:80>
    DocumentRoot  /var/www/nsd
    ServerName  webapp0.example.com
    alias  /  /var/www/nsd/webinfo.wsgi
 </VirtualHost>

5.重起httpd服务验证
6.验证
# elinks  -dump   webapp0.example.com


7.server0上修改 /etc/httpd/conf.d/nsd01.conf

            /var/www/nsd  ==== 客户端的 /

 <VirtualHost  *:80>
    DocumentRoot  /var/www/nsd
    ServerName  webapp0.example.com
    wsgiscriptalias  /  /var/www/nsd/webinfo.wsgi
 </VirtualHost>
8.重起httpd服务验证
9.验证
# elinks  -dump   webapp0.example.com

  UINX时间戳:自1970-1-1  0:0:0到达当前所经过的秒数
10.修改webapp0.example.com监听端口8909
   server0上修改 /etc/httpd/conf.d/nsd01.conf

 Listen 8909
 <VirtualHost *:8909>
     DocumentRoot /var/www/nsd
     ServerName webapp0.example.com
     wsgiscriptalias / /var/www/nsd/webinfo.wsgi
 </VirtualHost>

11. SELinux 限制非默认端口  8909

# semanage port -l  |  grep http       #查看允许的端口
# semanage port -a  -t  http_port_t  -p tcp 8909  #添加端口
# semanage port -l | grep http
# elinks -dump webapp0.example.com:8909






      本文转自云计算王森 51CTO博客,原文链接:http://blog.51cto.com/13426941/2045247,如需转载请自行联系原作者

目录
打赏
0
0
0
0
348
分享
相关文章
Linux系统资源管理:多角度查看内存使用情况。
要知道,透过内存管理的窗口,我们可以洞察到Linux系统运行的真实身姿,如同解剖学家透过微观镜,洞察生命的奥秘。记住,不要惧怕那些高深的命令和参数,他们只是你掌握系统"魔法棒"的钥匙,熟练掌握后,你就可以骄傲地说:Linux,我来了!
67 27
|
23天前
|
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
103 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
8天前
|
Linux系统ext4磁盘扩容实践指南
这个过程就像是给你的房子建一个新的储物间。你需要先找到空地(创建新的分区),然后建造储物间(格式化为ext4文件系统),最后将储物间添加到你的房子中(将新的分区添加到文件系统中)。完成这些步骤后,你就有了一个更大的储物空间。
57 10
|
1月前
|
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
103 24
Linux系统之whereis命令的基本使用
|
20天前
|
Linux系统中如何查看CPU信息
本文介绍了查看CPU核心信息的方法,包括使用`lscpu`命令和读取`/proc/cpuinfo`文件。`lscpu`能快速提供逻辑CPU数量、物理核心数、插槽数等基本信息;而`/proc/cpuinfo`则包含更详细的配置数据,如核心ID和处理器编号。此外,还介绍了如何通过`lscpu`和`dmidecode`命令获取CPU型号、制造商及序列号,并解释了CPU频率与缓存大小的相关信息。最后,详细解析了`lscpu`命令输出的各项参数含义,帮助用户更好地理解CPU的具体配置。
59 8
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
|
10天前
|
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
41 0
|
3月前
|
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
337 78
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
205 23
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享