美文网首页
十四、静态服务之Apache

十四、静态服务之Apache

作者: 胖虎喜欢小红 | 来源:发表于2020-01-26 18:40 被阅读0次

    只能解析静态页面。 动态页面:只要和数据库进行连接的都属于动态页面,比如java写的代码,PHP的代码,python的代码。

    web服务器:apache (静态并发量最高2000) nginx tengine IIS 端口 全部为80!

    中间件web容器:
    php: php-fpm(php端口9000)
    java: (tomcat端口8080。并发量到150就不行了)、jboss
    python: uwsgi(默认端口5000)
    

    多实例: 在同一台服务器上启动多个相同apache进程。只要端口不一样就可以。

    前端页面:静态元素: .html .img js css swf mp4 配合:apache、nginx。
    后端页面:动态元素: .php .jsp .cgi .asp 配合:java、php、python
    SQL
    数据库-mysql、mariadb
    

    常见的组合方式

    LNMP (Linux + Nginx + MySQL + PHP)  #php-fpm就是php,这个组合是公司用的最多的组合
    LAMP (Linux + Apache + MySQL + PHP) #php作为Apache的模块
    Nginx + Tomcat   #java项目常用的组合。取代apache
    

    一、apache安装

    [root@apache_server ~]# systemctl stop firewalld
    [root@apache_server ~]# systemctl disable firewalld
    [root@apache_server ~]# setenforce 0
    [root@apache_server ~]# yum -y install httpd
    [root@apache_server ~]# netstat -lntp | grep httpd
    tcp6       0      0 :::80                   :::*                    LISTEN      7117/httpd
    
    index.html:默认主页名称
    默认发布网站的目录:/var/www/html
    系统产生apache账户
    家目录是:/var/www
    
    1.apache目录介绍
    apache的工作目录(基准目录)
    conf   存储配置文件
    conf.d 存储配置文件
    logs   存储日志 modules 存储模块
    run    存储Pid文件,存放的pid号码。是主进程号
    
    主配置文件:
    #: vim /etc/httpd/conf/httpd.conf 
    ServerRoot "/etc/httpd" 工作目录
    Listen 80 监听端口
    #Listen 12.34.56.78:80 指定监听的本地网卡 可以修改
    Include conf.modules.d/*.conf 所有动态模块的加载配置
    User apache apache子进程所有者 可以修改 有可能被人改称www账户 Group apache 进程的所属组
    DocumentRoot "/var/www/html" 发布网站的默认目录,想改改这里。
    

    二、访问控制

    1.准备测试目录
    [root@apache_server ~]# mkdir /var/www/html/test1   #创建测试目录
    [root@apache_server ~]# echo hello > /var/www/html/test1/index.html   #编写测试文件
    
    2.访问控制测试

    可以直接编辑apache主配置文件
    1.允许所有主机访问

    [root@apache_server ~]# vim /etc/httpd/conf/httpd.conf
    
    image.png
    [root@apache_server ~]# systemctl restart httpd
    

    访问测试:


    image.png

    2.只拒绝一部分客户端访问:

    [root@apache_server ~]# vim /etc/httpd/conf/httpd.conf
    
    image.png
    [root@apache_server ~]# systemctl restart httpd
    

    访问测试:

    使用ip为192.168.94.129的机器进行访问测试
    
    [root@client ~]# curl 192.168.94.128/test1
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>403 Forbidden</title>
    </head><body>
    <h1>Forbidden</h1>
    <p>You don't have permission to access /test1
    on this server.</p>
    </body></html>
    

    3.拒绝所有人

    [root@apache_server ~]# vim /etc/httpd/conf/httpd.conf
    
    image.png
    [root@apache_server ~]# systemctl restart httpd
    

    访问测试:


    image.png

    三、虚拟主机

    虚拟主机:多个网站在一台服务器上。web服务器都可以实现。
    三种:基于域名 基于端口 基于Ip

    1.基于域名

    环境:
    apache_server:192.168.94.128
    client:192.168.94.129
    

    apache_server端操作:

    [root@apache_server ~]# vim /etc/httpd/conf.d/test.conf
    <VirtualHost *:80>   #指定虚拟主机端口,*代表任何人都可以访问,也可以指定ip
    DocumentRoot /opt/test1   #指定发布网站目录,自己定义
    ServerName www.biubiu.com   #指定域名,可以自己定义
    <Directory "/opt/test1/">
      AllowOverride None   #设置目录的特性,如地址重写   
      Require all granted     #允许所有人访问
    </Directory>
    </VirtualHost>
    
    <VirtualHost *:80>
    DocumentRoot /opt/test2
    ServerName www.biudefor.com
    <Directory "/opt/test2/">
      AllowOverride None
      Require all granted
    </Directory>
    </VirtualHost>
    [root@apache_server ~]# mkdir /opt/test1
    [root@apache_server ~]# mkdir /opt/test2
    [root@apache_server ~]# echo biubiu >> /opt/test1/index.html
    [root@apache_server ~]# echo biudefor >> /opt/test2/index.html
    [root@apache_server ~]# systemctl restart httpd
    

    client端操作

    [root@client ~]# vim /etc/hosts
    192.168.94.128 www.biubiu.com
    192.168.94.128 www.biudefor.com
    测试访问:
    [root@client ~]# curl www.biubiu.com
    biubiu
    [root@client ~]# curl www.biudefor.com
    biudefor
    

    基于端口

    环境:
    apache_server:192.168.94.128
    client:192.168.94.129
    

    apache_server端操作:

    [root@apache_server ~]# vim /etc/httpd/conf/httpd.conf  //增加一个监听端口
    
    image.png
    [root@apache_server ~]# vim /etc/httpd/conf.d/test.conf
    <VirtualHost *:80>
    DocumentRoot /opt/test1
    ServerName www.biubiu.com
    <Directory "/opt/test1/">
      AllowOverride None
      Require all granted
    </Directory>
    </VirtualHost>
    
    <VirtualHost *:81>   //只改变了biudefor的监听端口
    DocumentRoot /opt/test2
    ServerName www.biudefor.com
    <Directory "/opt/test2/">
      AllowOverride None
      Require all granted
    </Directory>
    </VirtualHost>
    [root@apache_server ~]# systemctl restart httpd
    

    client端操作

    [root@client ~]# curl www.biubiu.com
    biubiu
    [root@client ~]# curl www.biudefor.com
    biubiu
    [root@client ~]# curl www.biudefor.com:81
    biudefor
    

    3.基于IP

    环境:
    apache_server:192.168.94.128
    client:192.168.94.129
    

    apache_server端操作:

    image.png
    [root@client ~]# ifconfig ens32:0 192.168.94.127    #添加一个临时ip
    删除临时ip方法:ifconfig ens32:0 192.168.94.127 down
    
    [root@apache_server ~]# vim /etc/httpd/conf.d/test.conf
    <VirtualHost 192.168.94.127:80>   #指定ip
    DocumentRoot /opt/test1
    ServerName www.biubiu.com
    <Directory "/opt/test1/">
      AllowOverride None
      Require all granted
    </Directory>
    </VirtualHost>
    
    <VirtualHost 192.168.94.128:80>   #指定ip
    DocumentRoot /opt/test2
    ServerName www.biudefor.com
    <Directory "/opt/test2/">
      AllowOverride None
      Require all granted
    </Directory>
    </VirtualHost>
    [root@apache_server ~]# systemctl restart httpd
    

    client端操作

    [root@client ~]# curl 192.168.94.128
    biudefor
    [root@client ~]# curl 192.168.94.127
    biubiu
    [root@client ~]# vim /etc/hosts
    192.168.94.127 www.biubiu.com
    192.168.94.128 www.biudefor.com
    [root@client ~]# curl www.biubiu.com
    biubiu
    [root@client ~]# curl www.biudefor.com
    biudefor
    

    相关文章

      网友评论

          本文标题:十四、静态服务之Apache

          本文链接:https://www.haomeiwen.com/subject/ixvjthtx.html