Linux中Apache(http)和LAMP架構(重點)

apache介紹:
世界上使用率最高的網站服務器,最高時可達70%;官方網站:apache.org
:80 — 端口 http對應80端口,https對應443端口
LAMP安裝說明
①源碼包安裝  自定義 開發版本選擇方便 效率高
生產環境 安全 穩定
開發環境 局域網(內網)
②二進制包安裝 yum命令安裝 官方版本比較低
 
apache三種工做模式:
一、prefork 工做模式(做用:用一個進程處理一個用戶請求)
優勢:成熟穩定,兼容全部新老模塊。同時,不須要擔憂線程安全的問題。
缺點:一個進程相對佔用更多的系統資源,消耗更多的內存。並且,它並不擅長處理高併發請求。
 
二、worker 工做模式(做用:一個進程生成多個線程,一個線程處理一個用戶請求)
優勢:佔據更少的內存,高併發下表現更優秀。
缺點:必須考慮線程安全的問題。
 
三、event 工做模式
它和worker模式很像,最大的區別在於,它解決了keep-alive場景下,長期被佔用的線程的資源浪費問題。event MPM中,會有一個專門的線程來管理這些keep-alive類型的線程,當有真實請求過來的時候,
將請求傳遞給服務線程,執行完畢後,又容許它釋放。這樣加強了高併發場景下的請求處理能力。
 
apache基本信息
apache爲企業中經常使用的web服務,用來提供http://(超文本傳輸協議)
主配置目錄:/etc/httpd/conf
主配置文件:/etc/httpd/conf/http.conf
子配置目錄:/etc/httpd/conf.d
子配置文件:/etc/httpd/conf.d/*.conf
默認發佈目錄:/var/www/html/
默認發佈文件:index.html
默認端口:80
 
服務器的返回狀態值(經常使用的六個記住)
200:ok,請求下載成功(正常)
304:not modified,標識一個緩存的資源是否發生過更改(正常)
403:forbidden,表示客戶端沒有權限訪問所請求的資源(表示沒有權限,加權限)
404:Not Found,表示客戶端所請求的資源不存在(有可能路徑不對)
500:Internal Server Error,服務器內部錯誤
502:Bad Gateway,代理服務器從上游服務器獲取到的是僞響應
 
編譯安裝Apache(http)(首先對apr apr-util httpd  進行編譯安裝)
首先須要老師發四個安裝包
apr-1.5.2.tar     apr-util-1.5.4.tar      httpd-2.4.20.tar      jd
 
1.編譯安裝apr:
第一步:上傳相關的軟件包
[root@ken ~]# ls
apr-1.5.2.tar.gz apr-util-1.5.4.tar.gz httpd-2.4.20.tar.gz
 
第二步:解壓
[root@ken ~]# tar xf apr-1.5.2.tar.gz
[root@ken ~]# tar xf apr-util-1.5.4.tar.gz
[root@ken ~]# tar xf httpd-2.4.20.tar.gz
 
第三步:進入安排apr解壓目錄,進行編譯
[root@ken ~]# cd apr-1.5.2
[root@ken apr-1.5.2]# ./configure –prefix=/usr/local/apr
 
第四步:解決依賴(首先下載編譯器)
[root@ken apr-1.5.2]# yum install gcc -y
 
第五步:繼續編譯
[root@ken apr-1.5.2]# ./configure –prefix=/usr/local/apr
 
第六步:安裝
[root@ken apr-1.5.2]# make && make install
 
2.編譯安裝apr-util:
第一步:進入並開始編譯
[root@ken ~]# cd apr-util-1.5.4
[root@ken apr-util-1.5.4]# ls
 
第二步:開始編譯
[root@ken apr-util-1.5.4]# ./configure –with-apr=/usr/local/apr –prefix=/usr/local/apr-util  #須要制定apr位置
 
第三步:編譯安裝
[root@ken apr-util-1.5.4]# make && make install
 
3.編譯安裝httpd :
第一步:進入解壓文件並開始編譯
[root@ken httpd-2.4.20]# ./configure --prefix=/usr/local/httpd2.4 \  (加符號 \ ,進行轉行表示尚未寫完)
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-cache \
--enable-deflate \
--enable-ssl \
--enable-rewrite \
--with-mpm=event
 
第二步:解決依賴(若是直接安裝會提示缺乏依賴)(首先解決編譯文件中的依賴pcre    openssl)
[root@ken httpd-2.4.20]# yum install pcre pcre-devel -y
[root@ken httpd-2.4.20]# yum install openssl openssl-devel -y
 
第三步:安裝
[root@ken httpd-2.4.20]# make && make install
 
 
完成了編譯安裝apr  apr-util  httpd ,接下來就能夠安裝編譯安裝apache(http)
 
 
編譯安裝的apache經常使用操做:
首先進入 [root@ken httpd-2.4.20]# cd /usr/local/httpd2.4
 
               [root@ken httpd-2.4.20]#  ls
 
               [root@ken httpd-2.4.20]#  cd bin
 
               [root@ken bin]# ./apachectl  start(啓動http)
 
               [root@ken bin] # ss  -tnl(查看80端口開了沒有)
 
                [root@ken bin]# ./apachectl  stop(中止http)
 
                lsof  -i   :80(查看80端口是否被佔用)
 
apache配置文件經常使用參數
 Listen 80
User apache
Group apache
DocumentRoot 「/var/www/html」
DirectoryIndex index.html
 
基於端口建立虛擬主機
第一步:修改配置文件
[root@ken ~]# yum install httpd -y
[root@ken ~]# vim /etc/httpd/conf/httpd.conf(在末行輸入)
<VirtualHost *:81>(定義端口)
DOCUMENTROOT /var/www/zp1
DIRECTORYINDEX index.html
< /VirtualHost>
<VirtualHost *:82>(定義端口)
DOCUMENTROOT /var/www/zp2
DIRECTORYINDEX index.html
< /VirtualHost>
 
而後查找Listen
輸Listen 80
    Listen 81
    Listen  82
 
第二步:建立網站根目錄
[root@ken ~]# mkdir /var/www/zp{1,2}
 
第三步:建立網頁首頁文件
[root@ken ~]# echo 「111」 >> /var/www/zp1/index.html
[root@ken ~]# echo 「hello world」 >> /var/www/zp2/index.html
 
第四步:重啓apache
[root@ken ~]# systemctl restart httpd
 
第五步:linux中訪問
[root@ken ~]# curl 192.168.221.123:81
111
[root@ken ~]# curl 192.168.221.123:82
hello world
 
基於域名建立虛擬主機
第一步:修改配置文件
[root@ken ~]# vim /etc/httpd/conf/httpd.conf
<VirtualHost 192.168.221.123>
DOCUMENTROOT /var/www/zp1
DIRECTORYINDEX index.html
servername www.zp1.com
< /VirtualHost>
<VirtualHost 192.168.221.123>
DOCUMENTROOT /var/www/zp2
DIRECTORYINDEX index.html
servername www.zp2.com
< /VirtualHost>
 
第二步:建立網站根目錄
[root@ken ~]# mkdir /var/www/zp{1,2}
 
第三步:建立網頁首頁文件
[root@ken ~]# echo 「111」 >> /var/www/zp1/index.html
[root@ken ~]# echo 「hello world」 >> /var/www/zp2/index.html
 
第四步:重啓apache
[root@ken ~]# systemctl restart httpd
 
第五步:解析域名
[root@ken www]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.221.123 www.zp1.com www.zp2.com(在另外一行輸入)
 
第六步:linux中訪問
[root@ken www]# curl www.zp1.com
111
[root@ken www]# curl www.zp2.com
hello world
 
apache上線靜態網站
第一步:關防火牆
[root@ken www]# systemctl stop firewalld
[root@ken www]# setenforce 0
 
第二步:下載httpd
[root@ken ~]# yum install httpd -y
 
第三步:上傳京東安裝包至網站根目錄之下
[root@ken ~]# cd /var/www/zp1(打開這個目錄,把京東壓縮包放進去)
[root@ken html]# ls
[root@ken html]# rz
 
[root@ken html]# ls
jd.zip
[root@ken html]#
 
第四步:下載unzip並解壓
[root@ken html]# yum install unzip -y
[root@ken html]# unzip jd.zip
[root@ken html]# ls
jd jd.zip
 
第五步:啓動httpd
[root@ken html]# systemctl restart httpd
 
第六步:遊覽器訪問
 
 
apache上線動態網站(公司基本都是動態網站,靜態網站不多)
動態網站須要下載數據庫,有一個單獨的數據庫
 
第一步:須要先部署LAMP架構(重點)
[root@ken jd]# yum install httpd php php-mysql mariadb-server -y
 
 
第二步:啓動apache和數據庫
[root@ken jd]# systemctl restart httpd mariadb
 
 
第三步:上傳安裝包並解壓(上傳老師給發的壓縮包)
[root@ken html]# ls
wordpress-3.3.1-zh_CN.zip
[root@ken html]# unzip wordpress-3.3.1-zh_CN.zip
 
 
第四步:複製wordpress文件到本目錄下
[root@ken html]# cp wordpress/* . -a
[root@ken html]# ls
 
 
第五步:配置數據庫文件
[root@ken html]# cp wp-config-sample.php wp-config.php(複製文件併爲其更名)
[root@ken html]# vim wp-config.php
/** WordPress 數據庫的名稱 */
define(‘DB_NAME’, ‘pan’);
 
/** MySQL 數據庫用戶名 */
define(‘DB_USER’, ‘pan’);
 
/** MySQL 數據庫密碼 */
define(‘DB_PASSWORD’, ‘123’);
 
 
第六步:配置數據庫
[root@ken html]# mysql -uroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.56-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
MariaDB [(none)]> create database pan;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on *.* to pan@’localhost’ identified by ‘123’;
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> exit
Bye
 
 
第七步:訪問網站
在遊覽器上輸192.168.221.123
相關文章
相關標籤/搜索