Linux-WebServer安裝和配置

Apache

  1. 基本操做
解釋 命令
安裝 yum install httpd
啓動 service httpd start
中止 service httpd stop
  1. 啓動完成後php

    • 查看進程是否存在:ps -ef | grep httpd
    • 此時在本機Win地址欄輸入 192.168.2.1(也就是虛擬機ip),你會發現訪問是失敗
    • 而後查看端口是否監聽:sudo netstat -anpl | grep 'http',此時端口也在監聽,那爲何訪問不成功呢?
    • 此時關閉防火牆,sudo service firewalld stop,而後再重新輸入ip地址,你就會看見如圖所示:
      訪問成功
  2. 虛擬主機配置html

    • 進入:cd /etc/httpd/,而後到cd conf目錄,打開vim httpd.conf文件,這是一些配置文件,此時若權限不夠記得提權nginx

    • 在這個配置文件中/virtual這個到關鍵字,配置一個虛擬主機,就在這個下面寫apache

      <VirtualHost *:80>
         ServerName www.imooc.test
         DocumentRoot /data/www
         <Directory "/data/www">
             Options Indexes FollowSymLinks
             AllowOverride None
             Require all granted
         </Directory>
      </VirtualHost>
    • 上面的DocumentRoot就是文件的根目錄,由於不存在,因此建立這個目錄sudo mkdir -p /data/www,到這個www文件夾下,建立一個index.html文件,隨便寫一些內容,保存退出,重啓服務器,此時在本機Win地址欄出入ServerName,此時你會發現訪問不成功,爲何呢,由於這個域名是虛擬的,要進行配置,
    • 這Win中到這個目錄下c:\Windows\System32\Drivers\etc,找host文件,在最後添加就能夠了,例如192.168.2.1 www.imooc.test,其中這個ip是虛擬機的ip,這個地方有個坑,詳情看這個https://jingyan.baidu.com/article/624e7459b194f134e8ba5a8e.html
    • 若訪問不成功,執行這個命令sudo setenforce 0,這個命令主要設置寬鬆模式
      訪問成功vim

    • 若想配置多個虛擬主機,就把上面的內容複製屢次就能夠了,要注意路徑喲
    • 在這個 /etc/httpd目錄下有一個logs目錄,記錄的日誌,進入到這個目錄中,有兩個文件,access_log、error_log,分別記錄這訪問和異常的日誌,打開tail -f error_log在這裏你會看到一些錯誤的信息記錄centos

  3. 僞靜態操做服務器

    • cd /etc/httpd/modules會看到全部的模塊的類負載均衡

    • cd /etc/httpd/conf.modules.d,這個是模塊的配置ide

    • 而後進入cd /etc/httpd/conf,打開vim httpd.conf文件,找到/LoadModule這個關鍵字,ui

    • 在這個關鍵字下面添加LoadModule rewrite_module modules/mod_rewrite.so,

    • 此時在配置虛擬主機的代碼中添加,重啓一下服務器,也就是說,只要訪問地址後綴名是.htmp,那麼就轉到index.html

      <VirtualHost *:80>
         ServerName www.imooc.test
         DocumentRoot /data/www
         <Directory "/data/www">
             Options Indexes FollowSymLinks
             AllowOverride None
             Require all granted
             # 添加一下代碼
             <IfModule mod_rewrite.c>
                 RewriteEngine On
                 RewriteRule ^(.*).htmp$ index.html
             </IfModule>
         </Directory>
      </VirtualHost>

僞靜態

Nginx

  1. 基本操做
解釋 命令
安裝 yum install nginx
啓動 service nginx start
中止 service nginx stop
重載 service nginx reload

要注意的是安裝的時候須要添加一個CentOS7 Nginx yum資源庫

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm,而後再安裝yum install nginx

  1. 啓動成功後

    • 查看進程是否存在:ps -ef | grep nginx
    • 此時在本機Win地址欄輸入 192.168.2.1(也就是虛擬機ip),就會看到歡迎界面
      nginx歡迎
  2. 配置虛擬主機

    • 進入:cd /etc/nginx/,打開vim nginx.conf文件,這是一些配置文件,
    • 而後到:cd /etc/nginx/conf.d/,會有一個默認文件default.conf,在這裏能夠看到nginx默認的根目錄,打開 vim /usr/share/nginx/html/index.html,這個就是nginx的歡迎界面
    • 直接在這個目錄下把默認文件default.conf複製一份,例如imooc.conf,按照這個寫就能夠了,而後重載
    server{
        listen  80;
        server_name  www.imooc.test;
        root /data/www;
        index  index.html  index.htm;
    }
    • 若想配置多個虛擬主機,重複上面的操做就能夠了,再複製一份,要注意路徑,
    • 若一個虛擬主機想多端口訪問直接多寫一個listen,或者多域名,就在這個域名後面多寫一個就能夠了,要注意格式,由於這裏的域名是虛擬的,因此還的在host裏添加,和上面同樣
    server{
        listen  80;
        listen  9999;
        server_name  www.imooc.test www.imooc2.test;
        root /data/www;
        index  index.html  index.htm;
    }

    修改端口和網址

  3. 僞靜態

    • 仍是在配置虛擬主機的文件中,此時只要後綴名.htmp的都會訪問index.html頁面
    server{
        listen  80;
        server_name  www.imooc.test;
        root /data/www;
        index  index.html  index.htm;
        location / {
            rewrite ^(.*)\.htmp$ /index.html;
        }
    }
  4. 日誌的格式化

    • cd /etc/nginx,打開nginx.conf文件,在log_format後面的,會看到一些格式以及存放的路徑,/var/log/nginx/access.log,查看一下:tail -f /var/log/nginx/access.log
    • 自定義格式,只須要:
    • 自定義格式

    • 也能夠在虛擬主機中指定日誌的位置,這樣方便管理,記得從重載服務器

    server{
        listen  80;
        server_name  www.imooc.test;
        root /data/www;
        index  index.html  index.htm;
        # 指定日誌關鍵字 存放的路徑 日誌格式的名字,就是上面自定義的
        access_log /var/log/nginx/access_imooc.log imooc;
        location / {
            rewrite ^(.*)\.htmp$ /index.html
        }
    }
  5. 反向代理

    • 進入到cd /etc/nginx/conf.d,vim imooc.conf文件,如

      # 這個訪問的實際ip地址,方便下面引用
      upstream imooc_hosts {
          server 118.89.106.129:80;
      }
      server {
          listen    80;
          server_name  www.imooc.test;
              root   /data/nginx;
              index  index.html index.htm;
          location / {
             # 實際ip地址對應的Host
              proxy_set_header Host www.54php.cn;
              # 這個就是引用上面的方便管理
              proxy_pass http://imooc_hosts;
          }   
      }
    • 重載服務器,訪問www.imooc.test這個網址,實際上就會訪問到www.54php.cn,此時前者就是做爲一個代理

  6. 負載均衡

    • 若這個時候,再imooc_hosts裏添加一條網址,那麼在第一次訪問www.imooc.test這個網址,就到到第一條對應的網址,第二訪問,就回到第二條對應的網址,第三次仍是第一條對應的網址,......

    • 若不想這樣循環,想讓一個服務器訪問的次數多一點,那麼,在後面添加一個關鍵字就能夠了,以下,這樣第一個網址被訪問的次數就是第二個網址的五倍

      server 118.89.106.129:80 weight=5;
       server 101.132.110.127:80 weight=1;
  7. 調試功能

    • 通常出錯的時候進行,仍是在虛擬主機配置文件中,添加下面的內容,重載服務器,此時在頁面上就會顯示請求的域名是什麼和客戶端地址
    server {
        listen    80;
        # 添加下面的內容
        add_header Content-Type "text/plain;charset=utf-8";
        return 200 "$http_host $remote_addr";
        server_name  www.imooc.test;
        root   /data/nginx;
        index  index.html index.htm;
    }

相關文章
相關標籤/搜索