IT评测·应用市场-qidao123.com

标题: web服务器之——www服务器的基本设置 [打印本页]

作者: 络腮胡菲菲    时间: 2024-6-13 19:41
标题: web服务器之——www服务器的基本设置
 目录
一、www简介
1、什么是www
2、www所用的协议
3、WEB服务器        
4、主要数据
5、欣赏器
二、 网址及HTTP简介
1、HTTP协议哀求的工作流程
三、www服务器的类型(静态网站(HTML), 动态网站(jsp python,php,perl))
1、 仅提供用户欣赏的单向静态网页
2、 提供用户互动接口的动态网站
搭建动态网站的需求:
四、www服务器的基本设置
第一步:挂载
第二步:编辑设置文件
第三步:安装软件包
第四步:启动httpd
查看设置文件:
主设置文件内容:
注:如果没有apache能否正常运行(源码安装常见问题)
删除apache:
解决方法:添加apache用户
第五步:设置防火墙状态:
重启服务:
查看状态:
查看是否启动成功:
或者可以用:
测试:


一、www简介

1、什么是www

        www是world wide web的缩写,也就是全球信息广播的意思。通常说的上网就是利用www来查询用户所需要的信息。www可以联合文字、图形、影像以及声音等多媒体,并通过可以让鼠标单击超链接的方式将信息以Internet转达到天下各处去。
2、www所用的协议

        HTTP超文本传输协议(HyperText Transfer Protocal),是互联网上最广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。它是创建在TCP上一种的无状态毗连,整个基本的工作流程是客户端发送一个HTTP哀求,说明客户端想要访问的资源和哀求的动作,服务端收到哀求之后,服务端开始处理哀求,并根据哀求做出相应的动作访问服务器资源,最后通过发送HTTP相应把结果返回给客户端。其中一个哀求的开始到一个相应的结束称为事务,当一个事物结束后还会在服务端添加一条日志条目。
3、WEB服务器        

www web http apache http server tomcat nginx IIS
        指网站服务器,是指驻留与因特网上某种类型计算机的程序,可以向欣赏器等WEB客户端提供文档,也可以放置网站文件,让全天下欣赏;可以放置数据文件,让全天下下载。
        目前最主流的三个WEB服务器是Apache和Microsoft和Internet-信息服务器(Internet Information Services,IIS)unix nginx。
4、主要数据

        服务器所提供的最主要数据是超文本标记语言(Hyper Text Markup Language,HTML)、多媒体文件(图片、影像、声音、文字等,都属于多媒体或称为超媒体),HTML只是一些纯文本数据,通过所谓的标记来规范所要显示的数据格式。
5、欣赏器

        客户端收到服务器的数据之后需要软件解析服务器所提供的数据,最后将效果呈现在用户的屏幕上。那么闻名的欣赏器就有内建在Windows操作系统内的IE欣赏器了,还有Firefox欣赏器和Google的chrome欣赏器
二、 网址及HTTP简介

        web服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先将数据文件写好,而且放置在某个特殊的目录下面,这个目录就是我们整个网站的首页,在redhat中,这个目录默认在 /var/www/html 。欣赏器是通过你在地点栏中输入你所需要的网址来取得这个目录的数据的

        http哀求报文由哀求行、哀求头部、空行和哀求报文主体几个部分构成:
        MIME(Multipurpose Internet Mail Extension,多用途因特网邮件扩展)最初是为相识决在差别的电子邮件系统之间搬移报文时存在的问题。厥后http也支持了这个功能,用它来描述数据并标记差别的数据内容类型。
        当web服务器相应http哀求时,会为每一个http对象数据加一个MIME类型。当web欣赏器获取到服务器返回的对象时,会去查看相关的MIME类型,并举行相应的处理。
        MIME类型存在于HTTP相应报文的相应头部信息里,它是一种文本标记,表现一种主要的对象类型和一个特定的子类型。常见的MIME类型:
MIME类型文件类型text/htmlhtml、htm、shtml文本类型text/csscss文本类型text/xmlxml文本类型image/gifgif图像类型image/jpegjpeg、jpg图像类型application/javascriptjs文本类型text/plaintxt文本类型application/jsonjson文本类型video/mp4mp4视频类型video/quicktimemov视频类型video/x-flvflv视频类型video/x-ms-wmvwmv视频类型video/x-msvideoavi视频类型
1、HTTP协议哀求的工作流程

(1)终端客户在web欣赏器地点栏输入访问地点http://www.ceshi.com:80/index.html
(2)web欣赏器哀求DNS服务器把域名www.ceshi.com解析成web服务器的IP地点
(3)web欣赏器将端口号(默认是80)从访问地点(URL)中解析出来
(4)web欣赏器通过解析后的ip地点及端口号与web服务器之间创建一条TCP毗连
(5)创建TCP毗连后,web欣赏器向web服务器发送一条HTTP哀求报文
(6)web服务器相应并读取欣赏器的哀求信息,然后返回一条HTTP相应报文。
(7)web服务器关闭HTTP毗连,关闭TCP毗连,web欣赏器显示访问的网站内容到屏幕上。
三、www服务器的类型(静态网站(HTML), 动态网站(jsp python,php,perl))

1、 仅提供用户欣赏的单向静态网页

单纯是由服务器单向提供数据给客户端,Server不需要与client端有互动,所以你可以到该网站上去欣赏,但是无法举行数据的上传。
2、 提供用户互动接口的动态网站

​        这种类型的网站可以让服务器与用户互动,常见的例如留言板,博客。这种类型的网站需要通过“网页程序语言”来实现与用户互动的行为。常见的例如:PHP网页程序语言,配合数据库系统来举行数据的读、写。当你在向服务器哀求数据时,其实是通过服务器端同一个网页程序在负责将数据读出或写入数据库,变动的是数据库的内容,网页程序并没有任何改变。
​        另外一种交互式的动态网页主要是在客户端实现。服务端将可实行的程序代码(JavaScript)传送给客户端,客户端的欣赏器如果提供JavaScript的功能,那么该程序就可以在客户端的计算机上面工作了;另外一种可在客户端实行的就是flash动画格式,在这种动画格式内还可以举行程序设计。
搭建动态网站的需求:

1. 可支持的操作系统:让所有需要的软件都能够举行安装。
2. 可运行的www服务器:例如Apache。
3. 网页程序语言:Perl(Practical Extraction and Report Language,实用报表提取语言)、PHP(Hypertext Preprocessor,超文本预处理器,是一种通用开源脚本语言)、JSP(Java Server Pages,java服务器页面)、CGI(Common Gateway Interface,公共网关接口)、ASP(Active Server Pages,动态服务器页面)。
4. 数据存储的数据库系统 :MySQL、MSSQL、Oracle等。
LAMP(linux+Apache+MySQL+PHP)

四、www服务器的基本设置

服务器端:在linux上面实现网页服务器需要Apache这套服务器软件,httpd提供Apache主程序 http://httpd.apache.org/docs/2.4/ 安装软件:httpd

第一步:挂载

  1. [root@localhost node1]# mount /dev/sr0 /mnt/
复制代码


第二步:编辑设置文件

  1. [root@localhost node1]#  vim /etc/yum.repos.d/web.repo
复制代码
  1. [BaseOS]
  2. name=BaseOS
  3. baseurl=file:///mnt/BaseOS
  4. gpgcheck=0
  5. [AppStream]
  6. name=AppStream
  7. baseurl=file:///mnt/AppStream
  8. gpgcheck=0
复制代码


第三步:安装软件包

  1. [root@localhost node1]# dnf install httpd -y
复制代码
  1. [/code] [code][root@localhost ~]# rpm -ql httpd
复制代码
  1. [/code] [code][root@localhost httpd]# tree /etc/httpd
  2. /etc/httpd
  3. ├── conf
  4. │ ├── httpd.conf
  5. │ └── magic
  6. ├── conf.d
  7. │ ├── autoindex.conf
  8. │ ├── README
  9. │ ├── userdir.conf
  10. │ └── welcome.conf
  11. ├── conf.modules.d
  12. │ ├── 00-base.conf
  13. │ ├── 00-dav.conf
  14. │ ├── 00-lua.conf
  15. │ ├── 00-mpm.conf
  16. │ ├── 00-proxy.conf
  17. │ ├── 00-systemd.conf
  18. │ └── 01-cgi.conf
  19. ├── logs -> ../../var/log/httpd
  20. ├── modules -> ../../usr/lib64/httpd/modules
  21. └──
  22. run -> /run/httpd
复制代码

第四步:启动httpd

  1. [root@localhost node1]# systemctl start httpd.service
  2. 注:
  3.     1、启动用start,再次启动用restart,
  4.    2、.service后缀可加可不加
复制代码
查看设置文件:

  1. [root@localhost node1]# rpm -ql httpd | grep etc
复制代码

主设置文件内容:

  1. 主配置文件内容:
  2. [root@localhost ~]# vim /etc/httpd/conf/httpd.conf
  3. 31 ServerRoot "/etc/httpd" #http服务的顶级目录为/etc/httpd
  4. 42 Listen 80 #监听在80端口,80为web服务器的默认端口
  5. 56 Include conf.modules.d/*.conf #包括/etc/httpd/conf.modules.d/*.conf的所有文件 66
  6. User apache #服务的用户(ps -ef | grep httpd,先以root用户把/usr/sbin/httpd服务启动起来)。启动服务后转换的身份,在启动服务时通常以root身份,然后转换身份,这样增加系统安全 67
  7. Group apache
  8. 86 ServerAdmin root@localhost #你的邮箱,有事的时候给你发邮件
  9. 95 #ServerName www.example.com:80 ServerName 0.0.0.0:80匹配任意IP地址,监听端口在80端口
  10. 注:默认是不需要指定的,服务器通过名字解析过程来获得自己的名字,但如果解析有问题(如反向解析不正确),或者没有DNS名字,也可以在这里指定ip地址,当这项不正确的时候服务器不能正常启动。解决办法就是启动该项把www.example.com:80修改为自己的域名或者直接修改为localhost
  11. 102 <Directory /> #目录为根,<>为起始标志,</>为结束标志
  12. 103 AllowOverride none #不允许这个目录下的访问控制文件来改变这里的配置,这也意味着不用查看这个目录下的访问控制文件。
  13. 104 Require all denied #拒绝访问根
  14. 105 </Directory> #和<Directory />是一组标签,目录控制容器
  15. 119 DocumentRoot "/var/www/html" #网页文件存放的目录
  16. 124 <Directory "/var/www">
  17. 125 AllowOverride None
  18. 126 # Allow open access:
  19. 127 Require all granted
  20. 128 </Directory>
  21. 131 <Directory "/var/www/html">
  22. 144 Options Indexes FollowSymLinks #索引,跟踪软链接
  23. 151 AllowOverride None
  24. 156 Require all granted
  25. 157 </Directory>
  26. 163 <IfModule dir_module> #加载一个目录模块
  27. 164 DirectoryIndex index.html
  28. 165 </IfModule>
  29. 171 <Files ".ht*"> #不能访问
  30. 172 Require all denied
  31. 173 </Files>
  32. 182 ErrorLog "logs/error_log"
  33. 189 LogLevel warn
  34. 191 <IfModule log_config_module>
  35. #日志配置模块 /var/log/httpd,日志模块:通过时间节点去记录(man date)
  36. 196 LogFormat "%h %l %u %t "%r" %>s %b "%{ Referer}i" "%{UserAgent}i"" combined
  37. 197 LogFormat "%h %l %u %t "%r" %>s %b" com mon
  38. 198
  39. 199 <IfModule logio_module>
  40. 201 LogFormat "%h %l %u %t "%r" %>s %b " %{Referer}i" "%{UserAgent}i" %I %O" combi nedio
  41. 202 </IfModule>
  42. 217 CustomLog "logs/access_log" combined
  43. 218 </IfModule>
  44. 220 <IfModule alias_module> #别名模块
  45. 247 ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
  46. 248
  47. 249 </IfModule>
  48. cgi(通用网关接口)是web服务器运行时外部程序的规范,按cgi编写的程序可以扩展服务器的功能。cgi应用程序能与浏览器进行交互,还可通过数据库API与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据
  49. 255 <Directory "/var/www/cgi-bin">
  50. 256     AllowOverride None
  51. 257     Options None
  52. 258 Require all granted
  53. 259 </Directory>
  54. 261 <IfModule mime_module> #多用途互联网邮件扩展模块
  55. 266 TypesConfig /etc/mime.types
  56. 283 AddType application/x-compress .Z
  57. 284 AddType application/x-gzip .gz .tgz
  58. 305 AddType text/html .shtml
  59. 306 AddOutputFilter INCLUDES .shtml
  60. 307 </IfModule>
  61. mime多用途互联网邮件扩展类型,是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问时,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
  62. 316 AddDefaultCharset UTF-8 默认字符集
  63. 318 <IfModule mime_magic_module>
  64. 324 MIMEMagicFile conf/magic
  65. 325 </IfModule>
  66. 348 EnableSendfile on  #全局生效
  67. 353 IncludeOptional conf.d/*.conf
复制代码
注:如果没有apache能否正常运行(源码安装常见问题)

删除apache:

  1. [root@localhost node1]# cd /var/www/html
  2. [root@localhost html]# id apache
  3. uid=48(apache) gid=48(apache) groups=48(apache)
  4. [root@localhost html]# userdel -r apache
  5. userdel: user apache is currently used by process 43605
  6. [root@localhost html]# systemctl stop httpd
  7. [root@localhost html]# userdel -r apache
  8. userdel: apache mail spool (/var/spool/mail/apache) not found
  9. userdel: /usr/share/httpd not owned by apache, not removing
  10. [root@localhost html]# id apache
  11. id: ‘apache’: no such user
  12. [root@localhost html]# systemctl restart httpd
  13. Job for httpd.service failed because the control process exited with error code.
  14. See "systemctl status httpd.service" and "journalctl -xe" for details.
复制代码
此时无法正常访问网站:

解决方法:添加apache用户

  1. [root@localhost node1]# cd /var/www/html
  2. [root@localhost html]# useradd -r apache
  3. [root@localhost html]# systemctl restart httpd
  4. [root@localhost html]# id apache
  5. uid=975(apache) gid=974(apache) groups=974(apache)
复制代码
第五步:设置防火墙状态:

  1. [root@localhost ~]# systemctl status firewalld
  2. [root@localhost ~]#systemctl stop firewalld
  3. #可不用
  4. [root@localhost ~]#systemctl disable firewalld
复制代码
  1. 注意: systemctl start/restart/enable/disable/stop/status/reload 的区别  
复制代码
重启服务:

  1. [root@localhost ~]# systemctl restart httpd
复制代码
查看状态:

查看是否启动成功:

  1. [root@localhost node1]# systemctl is-active httpd
  2. active
  3. ##测试状态代码
  4. [root@localhost node1]# systemctl stop httpd.service
  5. [root@localhost node1]# systemctl is-active httpd
  6. inactive
复制代码

或者可以用:

  1. [root@localhost node1]# systemctl status httpd
复制代码

  1. [root@localhost ~]# systemctl status httpd | less
  2. Aug 31 03:35:09 localhost.localdomain httpd[7374]: AH00558: httpd: Could not
  3. reliably determine the server's fully qualified domain name, using
  4. localhost.localdomain. Set the 'ServerName' directive globally to suppress this
  5. message
  6. #httpd:无法使用localhost.localdomain可靠地确定服务器的完全限定域名。 全局设
  7. 置“ServerName”指令以禁止显示此消息
  8. **排错**:
  9. - 编辑httpd的主配置文件:`vim /etc/httpd/conf/httpd.conf`
  10. - 将ServerName 改成0.0.0.0:80
  11. - 重启服务
  12. - 看状态显示正常
复制代码

测试:




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4