• 搭建httpd服务


    实验环境:CentOS7

    实验步骤:

    1. 安装httpd服务:yum -y install httpd
    2. 关闭SELinux:setenforce 0
    3. 禁用防火墙策略:iptables -F
    4. 启动httpd服务:systemctl start httpd
    5. 启动进程后,在不重启服务的情况下,生效对配置文件的修改(用kill -1):kill -1 PID(httpd)
    [root@localhost ~]#yum -y install httpd #安装httpd服务
    [root@localhost ~]# systemctl status httpd  #查看httpd服务的启动状态
    ● httpd.service - The Apache HTTP Server
       Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
       Active: inactive (dead)
         Docs: man:httpd(8)
               man:apachectl(8)
    [root@localhost ~]#systemctl reload httpd  #重新加载httpd服务
    Job for httpd.service invalid.
    [root@localhost ~]#netstat -ntl
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     
    tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN     
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
    tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
    tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN     
    tcp        0      0 127.0.0.1:6011          0.0.0.0:*               LISTEN     
    tcp6       0      0 :::111                  :::*                    LISTEN     
    tcp6       0      0 :::22                   :::*                    LISTEN     
    tcp6       0      0 ::1:631                 :::*                    LISTEN     
    tcp6       0      0 ::1:25                  :::*                    LISTEN     
    tcp6       0      0 ::1:6010                :::*                    LISTEN     
    tcp6       0      0 ::1:6011                :::*                    LISTEN    
    [root@localhost ~]#systemctl start httpd  #启动httpd服务
    [root@localhost ~]#systemctl status httpd
    ● httpd.service - The Apache HTTP Server
       Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
       Active: active (running) since Tue 2017-05-09 10:52:27 CST; 26s ago
         Docs: man:httpd(8)
               man:apachectl(8)
     Main PID: 44037 (httpd)
       Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
       CGroup: /system.slice/httpd.service
               ├─44037 /usr/sbin/httpd -DFOREGROUND
               ├─44038 /usr/sbin/httpd -DFOREGROUND
               ├─44039 /usr/sbin/httpd -DFOREGROUND
               ├─44040 /usr/sbin/httpd -DFOREGROUND
               ├─44041 /usr/sbin/httpd -DFOREGROUND
               └─44042 /usr/sbin/httpd -DFOREGROUND
    
    May 09 10:52:27 localhost.localdomain systemd[1]: Starting The Apache HTTP Server...
    May 09 10:52:27 localhost.localdomain httpd[44037]: AH00558: httpd: Could not reliably determin...ge
    May 09 10:52:27 localhost.localdomain systemd[1]: Started The Apache HTTP Server.
    Hint: Some lines were ellipsized, use -l to show in full.

    [root@localhost ~]#netstat -ntlp  #查看80端口是否启动

    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
    tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 2257/dnsmasq
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1001/sshd
    tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 946/cupsd
    tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2159/master
    tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 35010/sshd: root@pt
    tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 35946/sshd: root@pt
    tcp6 0 0 :::111 :::* LISTEN 1/systemd
    tcp6 0 0 :::80 :::* LISTEN 44037/httpd
    tcp6 0 0 :::22 :::* LISTEN 1001/sshd
    tcp6 0 0 ::1:631 :::* LISTEN 946/cupsd
    tcp6 0 0 ::1:25 :::* LISTEN 2159/master
    tcp6 0 0 ::1:6010 :::* LISTEN 35010/sshd: root@pt
    tcp6 0 0 ::1:6011 :::* LISTEN 35946/sshd: root@pt

    [root@localhost ~]#iptables -F  #禁用防火墙策略

    [root@localhost conf]#getenforce   #关闭SELinux
    Enforcing
    [root@localhost conf]#setenforce
    usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
    [root@localhost conf]#setenforce 0
    [root@localhost conf]#getenforce
    Permissive

    /var/www/html      #网页主页的目录
    [root@localhost ~]#cd /var  
    [root@localhost var]#ls
    account  cache  db     games   kerberos  local  log   nis  preserve  spool   tmp  yp
    adm      crash  empty  gopher  lib       lock   mail  opt  run       target  www
    [root@localhost var]#cd www
    [root@localhost www]#ls
    cgi-bin  html
    [root@localhost www]#cd html
    [root@localhost html]#ls
    [root@localhost html]#echo  welcome to first magedu>index.html  #添加主页文件和信息
    [root@localhost html]#ls
    index.html
    [root@localhost html]#cat index.html 
    welcome to first magedu
    [root@localhost html]#cd /etc/httpd
    [root@localhost httpd]#ls
    conf  conf.d  conf.modules.d  logs  modules  run
    [root@localhost httpd]#cd conf
    [root@localhost conf]#ls
    httpd.conf  magic
    [root@localhost conf]#pwd
    /etc/httpd/conf        #httpd服务的配置文件目录
    [root@localhost conf]#ls
    httpd.conf  magic
    [root@localhost conf]#file httpd.conf 
    httpd.conf: ASCII text
    [root@localhost conf]#cat httpd.conf
    
    # Listen: Allows you to bind Apache to specific IP addresses and/or
    # ports, instead of the default. See also the <VirtualHost>
    # directive.
    #
    # Change this to Listen on specific IP addresses as shown below to 
    # prevent Apache from glomming onto all bound IP addresses.
    #
    #Listen 12.34.56.78:80
    Listen 80
    
    
    Include conf.modules.d/*.conf
    
    #
    # If you wish httpd to run as a different user or group, you must run
    # httpd as root initially and it will switch.  
    #
    # User/Group: The name (or #number) of the user/group to run httpd as.
    # It is usually good practice to create a dedicated user and group for
    # running httpd, as with most system services.
    #
    User apache
    Group apache
    
    # 'Main' server configuration
    #
    # The directives in this section set up the values used by the 'main'
    # server, which responds to any requests that aren't handled by a
    # <VirtualHost> definition.  These values also provide defaults for
    # any <VirtualHost> containers you may define later in the file.
    #
    # All of these directives may appear inside <VirtualHost> containers,
    # in which case these default settings will be overridden for the
    # virtual host being defined.
    #
    
    #
    # ServerAdmin: Your address, where problems with the server should be
    # e-mailed.  This address appears on some server-generated pages, such
    # as error documents.  e.g. admin@your-domain.com
    #
    ServerAdmin root@localhost
    
    #
    # ServerName gives the name and port that the server uses to identify itself.
    # This can often be determined automatically, but we recommend you specify
    # it explicitly to prevent problems during startup.
    #
    # If your host doesn't have a registered DNS name, enter its IP address here.
    #
    #ServerName www.example.com:80
    
    #
    # Deny access to the entirety of your server's filesystem. You must
    # explicitly permit access to web content directories in other 
    # <Directory> blocks below.
    #
    <Directory />
        AllowOverride none
        Require all denied
    </Directory>
    
    #
    # Note that from this point forward you must specifically allow
    # particular features to be enabled - so if something's not working as
    # you might expect, make sure that you have specifically enabled it
    # below.
    #
    
    #
    # DocumentRoot: The directory out of which you will serve your
    # documents. By default, all requests are taken from this directory, but
    # symbolic links and aliases may be used to point to other locations.
    #
    DocumentRoot "/var/www/html"  #可修改主页的目录
    
    #
    # Relax access to content within /var/www.
    #
    <Directory "/var/www">
        AllowOverride None
        # Allow open access:
        Require all granted
    </Directory>
    
    
    
        Options Indexes FollowSymLinks
    
        #
        # AllowOverride controls what directives may be placed in .htaccess files.
        # It can be "All", "None", or any combination of the keywords:
        #   Options FileInfo AuthConfig Limit
        #
        AllowOverride None
    
        #
        # Controls who can get stuff from this server.
        #
        Require all granted
    </Directory>
    
    #
    # DirectoryIndex: sets the file that Apache will serve if a directory
    # is requested.
    #
    <IfModule dir_module>
        DirectoryIndex index.html
    </IfModule>
    
    #
    # The following lines prevent .htaccess and .htpasswd files from being 
    # viewed by Web clients. 
    #
    <Files ".ht*">
        Require all denied
    </Files>
    
    #
    # ErrorLog: The location of the error log file.
    # If you do not specify an ErrorLog directive within a <VirtualHost>
    # container, error messages relating to that virtual host will be
    # logged here.  If you *do* define an error logfile for a <VirtualHost>
    # container, that host's errors will be logged there and not here.
    #
    ErrorLog "logs/error_log"
    
    #
    # LogLevel: Control the number of messages logged to the error_log.
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    #
    LogLevel warn
    
    <IfModule log_config_module>
        #
        # The following directives define some format nicknames for use with
        # a CustomLog directive (see below).
        #
        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
        LogFormat "%h %l %u %t \"%r\" %>s %b" common
    
        <IfModule logio_module>
          # You need to enable mod_logio.c to use %I and %O
          LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
        </IfModule>
    
        #
        # The location and format of the access logfile (Common Logfile Format).
        # If you do not define any access logfiles within a <VirtualHost>
        # container, they will be logged here.  Contrariwise, if you *do*
        # define per-<VirtualHost> access logfiles, transactions will be
        # logged therein and *not* in this file.
        #
        #CustomLog "logs/access_log" common
    
        #
        # If you prefer a logfile with access, agent, and referer information
        # (Combined Logfile Format) you can use the following directive.
        #
        CustomLog "logs/access_log" combined
    </IfModule>
    
    <IfModule alias_module>
        #
        # Redirect: Allows you to tell clients about documents that used to 
        # exist in your server's namespace, but do not anymore. The client 
        # will make a new request for the document at its new location.
        # Example:
        # Redirect permanent /foo http://www.example.com/bar
    
        #
        # Alias: Maps web paths into filesystem paths and is used to
        # access content that does not live under the DocumentRoot.
        # Example:
        # Alias /webpath /full/filesystem/path
        #
        # If you include a trailing / on /webpath then the server will
        # require it to be present in the URL.  You will also likely
        # need to provide a <Directory> section to allow access to
        # the filesystem path.
    
        #
        # ScriptAlias: This controls which directories contain server scripts. 
        # ScriptAliases are essentially the same as Aliases, except that
        # documents in the target directory are treated as applications and
        # run by the server when requested rather than as documents sent to the
        # client.  The same rules about trailing "/" apply to ScriptAlias
        # directives as to Alias.
        #
        ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
    
    </IfModule>
    
    #
    # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
    # CGI directory exists, if you have that configured.
    #
    <Directory "/var/www/cgi-bin">
        AllowOverride None
        Options None
        Require all granted
    </Directory>
    
    <IfModule mime_module>
        #
        # TypesConfig points to the file containing the list of mappings from
        # filename extension to MIME-type.
        #
        TypesConfig /etc/mime.types
    
        #
        # AddType allows you to add to or override the MIME configuration
        # file specified in TypesConfig for specific file types.
        #
        #AddType application/x-gzip .tgz
        #
        # AddEncoding allows you to have certain browsers uncompress
        # information on the fly. Note: Not all browsers support this.
        #
        #AddEncoding x-compress .Z
        #AddEncoding x-gzip .gz .tgz
        #
        # If the AddEncoding directives above are commented-out, then you
        # probably should define those extensions to indicate media types:
        #
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
    
        #
        # AddHandler allows you to map certain file extensions to "handlers":
        # actions unrelated to filetype. These can be either built into the server
        # or added with the Action directive (see below)
        #
        # To use CGI scripts outside of ScriptAliased directories:
        # (You will also need to add "ExecCGI" to the "Options" directive.)
        #
        #AddHandler cgi-script .cgi
    
        # For type maps (negotiated resources):
        #AddHandler type-map var
    
        #
        # Filters allow you to process content before it is sent to the client.
        #
        # To parse .shtml files for server-side includes (SSI):
        # (You will also need to add "Includes" to the "Options" directive.)
        #
        AddType text/html .shtml
        AddOutputFilter INCLUDES .shtml
    </IfModule>
    
    AddDefaultCharset UTF-8
    
    <IfModule mime_magic_module>
        #
        # The mod_mime_magic module allows the server to use various hints from the
        # contents of the file itself to determine its type.  The MIMEMagicFile
        # directive tells the module where the hint definitions are located.
        #
        MIMEMagicFile conf/magic
    </IfModule>
    
    #
    # Customizable error responses come in three flavors:
    # 1) plain text 2) local redirects 3) external redirects
    #
    # Some examples:
    #ErrorDocument 500 "The server made a boo boo."
    #ErrorDocument 404 /missing.html
    #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
    #ErrorDocument 402 http://www.example.com/subscription_info.html
    #
    
    #
    # EnableMMAP and EnableSendfile: On systems that support it, 
    # memory-mapping or the sendfile syscall may be used to deliver
    # files.  This usually improves server performance, but must
    # be turned off when serving from networked-mounted 
    # filesystems or if support for these functions is otherwise
    # broken on your system.
    # Defaults if commented: EnableMMAP On, EnableSendfile Off
    #
    #EnableMMAP off
    EnableSendfile on
    
    # Supplemental configuration
    #
    # Load config files in the "/etc/httpd/conf.d" directory, if any.
    IncludeOptional conf.d/*.conf
    [root@localhost conf]#kill -1 44037  #修改完配置文件后,重读配置文件
  • 相关阅读:
    P1352 没有上司的舞会(树形DP入门,自底向上更新)
    链表和函数指针
    c语言中文件操作
    数据结构中的栈和堆与计算机内存划分的栈区和堆区的区别
    计算机组成原理—cpu
    Linux中一切皆文件
    G 火山哥周游世界(树上走过确切k个点的最短时间,树形dp)
    Paint Box(涂色要求相邻不能同色,求方案数,容斥)
    失衡天平
    hdu6761lyndon分解
  • 原文地址:https://www.cnblogs.com/wzhuo/p/6829829.html
Copyright © 2020-2023  润新知