设为首页 收藏本站
查看: 1216|回复: 0

[经验分享] web服务器apache

[复制链接]

尚未签到

发表于 2018-11-26 07:06:20 | 显示全部楼层 |阅读模式
web服务器apache
  一 :web服务工作的端口:
  http  80/TCP
  https 443/TCP
二:http的主要版本:
    http1.0 引入MIME(Miltipurpose Internet Mail Extension)多用途互联网邮件扩展,mime 将二进制文件转换为文本文件,传输到对方后,再将之重新还原为原来的样子,还能使得接受方知道通过哪个应用程序打开文件。 每个object都进行三次握手。
    http1.1 引入keepalive(保持连接)的功能,并提供了缓存的功能,每个object只进行一次三次握手,可进行多次请求。keepalive 可以设置超时时间,还可以设置一次连接请求的最大数目,提高并发能力。

三: http响应码:
    1xx:说明信息
    2xx:正常响应信息
    3xx;资源请求重定向
    4xx:客户端错误
    5xx:服务器端错误

四:apache的rpm包安装方式:
    #yum install -y httpd

五:apache的配置:

    httpd的主配置文件是/etc/httpd/conf/httpd.conf,通过编辑此文件来定制自己的httpd服务。
    主配置文件中共有三个字段
[root@localhost ~]# grep "Section" /etc/httpd/conf/httpd.conf
### Section 1: Global Environment   //全局端
### Section 2: 'Main' server configuration  //中心主机段
### Section 3: Virtual Hosts  //虚拟主机段
    其中中心主机段和虚拟主机段不能同时使用,所以使用虚拟主机时要将中心主机取消,但如果还需要用到中心主机提供的内容时,这时可以将中心主机也配置成一台虚拟主机。

Section 1: Global Environment

ServerTokens   显示server版本信息,可用参数如下:
   ServerTokens Prod[uctOnly]
       Server sends (e.g.): Server: Apache
   ServerTokens Major
       Server sends (e.g.): Server: Apache/2
   ServerTokens Minor
       Server sends (e.g.): Server: Apache/2.0
   ServerTokens Min[imal]
       Server sends (e.g.): Server: Apache/2.0.41
   ServerTokens OS
       Server sends (e.g.): Server: Apache/2.0.41 (Unix)
   ServerTokens Full (or not specified)      
       Server sends (e.g.): Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2

ServerRoot   服务器的起点安装目录所在的地方(一般不要更改)
     /etc/httpd
     
     
PidFile   pid文件
     run/httpd.pid   相对路径,相对于ServerRoot
     
     
Timeout   超时时间,当用户和服务器建立连接后,在此Timeout时间内没有在访问就断开

KeepAlive  是否开启保持连接     
     on/off
     开启保持连接时,一次三次握手可以访问多个文件,off时性能好,on时用户体验好。

MaxKeepAliveRequests  当用户连接后一直请求而不断开时,最多访问的文件数。

KeepAliveTimeout  保持连接的超时时间
      如果用户在此事件内没有访问就断开
      
      
# MPM

  //如果perfork模块存在,生效如下指令
StartServers       8   //启动服务时,自动生成几个进程等待用户的访问。# ps aux | grep httpd查看启动的进程数
MinSpareServers    5   //最少空闲进程
MaxSpareServers   20   //最多空闲进程
ServerLimit      256   //MaxClients的超出上限
MaxClients       256   //最多允许多少个进程同时启动
MaxRequestsPerChild  4000   //一个进程最多响应多少个请求,多于此值后进程必须销毁,如果还有请求时,必须在建立进程进行响应


   //如果worker模块存在,生效如下指令
StartServers         2   //启动的进程数
MaxClients         150
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25  //每一个进程最多可以生成多少个线程
MaxRequestsPerChild  0  //每一个子进程可以相应多少个请求,0表示不作限制


Listen 80   监听的端口,可以设定多个Listen ,如果一个网卡有多个ip地址时,要指定监听哪个地址的端口,可在端口前加ip地址 Listen 12.34.56.78:80

LoadModule  装载模块
LoadModule foo_module modules/mod_foo.so
           模块名称    相对路径,相对于serverroot
           
Include conf.d/*.conf  包含的配置文件

ExtendedStatus On   开启时显示扩展信息,如ServerTokens 的信息

User apache   指定运行服务的用户和组
Group apache  


### Section 2: 'Main' server configuration    中心主机的配置


ServerAdmin root@localhost  管理员的邮箱地址,当访问服务器出现故障时给此邮箱发送邮件解决问题。

ServerName www.example.com:80   当正解和反解都失败时,可以启用此选项,直接指定servername

UseCanonicalName Off   是否使用正式名称


DocumentRoot "/var/www/html"   网页文件的存放位置


   定义访问网页的属性

    Options Indexes FollowSymLinks   定义选项,index表示允许索引,当没有主页面时,会将次目录下的所有文件都列出来,当开启index时有危险,一般要去掉index。FollowSymLinks表示允许访问符号链接所指向的文件   
   
DirectoryIndex index.html index.html.var  指定主页名称


AllowOverride None    是否允许覆盖
   
   AllowOverride AuthConfig
   AuthName"private"
   AuthType Basic
   AuthUserFile /etc/httpd/conf/.htpasswd
           
   Require user gentoo 仅允许gentoo登录
   #Require valid-user   所有的合法帐号均可登陆
   #####################################
     也可以允许组登录,需添加如下行:
     AuthGroupFile /etc/httpd/conf/.htgroup
     Require group developers
    然后添加组:vim /etc/httpd/conf/.htgroup添加如下行:
                 developers:gentoo ubuntu
     添加ubuntu用户: htpasswd -cm /etc/httpd/conf/.htpasswd ubuntu
     重启服务即可

###################################################
创建用户:
htpasswd
               -c 创建用户,第一次创建事使用
               -m 将用户的密码md5加密存放
               -D 删除用户
          例子:添加用户:
             htpasswd -cm /etc/httpd/conf/.htpasswd gentoo
             htpasswd -m /etc/httpd/conf/.htpasswd gentoo
                 第二次创建时,不用-c
####################################################

Order allow,deny    后面的是默认规则

在Apache中位系统用户设置自己的网页:

   注释掉UserDir disable
   启用UserDir public_html,并将用户的网页文件放在public_html中(切换到该用户下,创建/public_html目录,在该目录下创建index.html文件,并将此文件的权限改变:
       chmod o+x /home/jerry/

   
   访问时:http://172.16.100.1/~jerry/


DirectoryIndex index.html index.html.var  默认主页面

AccessFileName .htaccess  打算控制哪个目录就在哪个目录中建立.htaccess 文件,在里面定义AllowOverride信息。例如在上面的jerry用户下在/public_html目录下建立.htaccess 文件:      
        
        AuthName "Jerry's Home"
        AuthType Basic
        AuthUserFile /home/jerry/.htpasswd
        Require user jerry
           
在在jerry用户下执行命令:
   #htpasswd -cm /home/jerry/.htpasswd jerry

ErrorLog logs/error_log  错误日志


LogLevel warn      错误日志的日志级别
          debug, info, notice, warn, error, crit,alert, emerg.





Alias /icons/ "/var/www/icons/"    路径别名
    通过网页路径访问一个并不在当前路径下的其他路径时,使用路径别名进行定义

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"  脚本别名

AddDefaultCharset UTF-8  默认字符集,此情况下可能会产生乱码,产生乱码时就注释此行。


虚拟主机:一个物理主机上能够运行多个站点,其中每一个站点叫做一个虚拟主机。
虚拟主机的类型:
1.IP    基于IP
2.Port  基于端口
3.FQDN  基于域名


虚拟主机的定义方法(中心主机的定义方法这里都可以使用)基于IP:
ghq.com/index.html
[root@localhost vhosts]# echo 'www.linux.org' > linux.org/index.html
要启用虚拟主机,先关闭中心主机:
注释掉DocumentRoot "/var/www/html"
在文件的最下方添加文件:

        ServerName www.ghq.com
        DocumentRoot "/vhosts/ghq.com"



        ServerName www.linux.org
        DocumentRoot "/vhosts/linux.org"

定义多个虚拟主机时,可已按照这种方法继续添加。

例子(基于端口):
先为虚拟主机提供网页文件:
[root@localhost ~]# mkdir /vhosts
[root@localhost ~]# mkdir /vhosts/{ghq.com,linux.org}
[root@localhost ~]# cd /vhosts/
[root@localhost vhosts]# ls
linux.org  magedu.com
[root@localhost vhosts]# echo 'www.ghq.com' > ghq.com/index.html
[root@localhost vhosts]# echo 'www.linux.org' > linux.org/index.html
要启用虚拟主机,先关闭中心主机:
注释掉DocumentRoot "/var/www/html"
开启监听的端口号,在主配置文件中添加如下行
Listen 8080
在文件的最下方添加文件:

        ServerName www.ghq.com
        DocumentRoot "/vhosts/ghq.com"


  //IP相同,只是端口号改变了
        ServerName www.linux.org
        DocumentRoot "/vhosts/linux.org"

定义多个虚拟主机时,可已按照这种方法继续添加。



例子(基于FQDN):
先为虚拟主机提供网页文件:
[root@localhost ~]# mkdir /vhosts
[root@localhost ~]# mkdir /vhosts/{ghq.com,linux.org}
[root@localhost ~]# cd /vhosts/
[root@localhost vhosts]# ls
linux.org  ghq.com
[root@localhost vhosts]# echo 'www.ghq.com' > ghq.com/index.html
[root@localhost vhosts]# echo 'www.linux.org' > linux.org/index.html
要启用虚拟主机,先关闭中心主机:
注释掉DocumentRoot "/var/www/html"
启用NameVirtualHost *:80行,且将*改为下面要使用的IP地址
    NameVirtualHost 10.106.34.100:80
在文件的最下方添加文件:

        ServerName www.ghq.com
        DocumentRoot "/vhosts/magedu.com"


  //IP相同,端口号也相同
        ServerName www.linux.org
        DocumentRoot "/vhosts/linux.org"

在更改宿主机上编辑C:\WINDOWS\system32\drivers\etc\hosts文件
     10.106.34.100 www.ghq.com
     10.106.34.100 www.linux.org
在windows上进入cmd命令行  ping www.ghq.com
                          ping www.linux.org
                       都正常
定义多个虚拟主机时,可已按照这种方法继续添加。













运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-639570-1-1.html 上篇帖子: Cannot find message resources under key org.apache.struts.action.MESSAGE 下篇帖子: 隐藏Apache 、ngnix 、wordpress的版本信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表