Apache @ Ubuntu.

Slides:



Advertisements
Similar presentations
本章重点内容  SMB 协议和 Samba 简介  安装和启动 Samba  配置 Samba 文件共享  配置 Samba 打印共享  在 Linux 环境下访问 Samba 共享.
Advertisements

计算机网络高级工 梁绍宇.
组网技术与配置 (第3版) 清华大学出版社 ISBN
主讲:邓 志 龙 Linux 网络技术 主讲:邓 志 龙
自由軟體SFS3 SFS3 學務系統是採用開放原始程式碼所架構的校務行政電腦化系統,目標是希望使各中小學校能擁有一個自由開放強大的校務E化平台。 本系統採用 Apache+PHP+MySQL,具備強大的模組功能,並且跨平台支援 Linux/FreeBSD/Windows等作業環境。 最大的特色是:自由、開放、模組化、高度可擴展能力。
Joomla! Part III 陳宗和.
Xoops架站器介紹 基隆市教育網路中心 王言俊 按一下以新增備忘稿.
第六章 Linux的系統管理基礎 課前指引 身為Linux系統管理員,除了熟悉作業系統的安裝、圖形介面的操作及系統指令的使用與軟體套件的安裝外,更需要瞭解基礎的Linux系統管理技巧。本節,將針對此部分進行說明。
轉移SFS3學務系統至CentOS 6.3 臺中市教育網路中心 曾文芳 2012/8/13.
資訊安全與系統管理 2013/3/13 Chien wei lin.
校園網路管理實電務 電子計算機中心 謝進利.
UNIX系統與資料庫安裝 Why UNIX 常用的工具程式介紹 資料庫的安裝.
第07章 Web服务器的组建与 安全管理 本章将重点讲解如何通过IIS、Apache架设、设置Web服务器。
苏州大汇信息科技有限公司 招聘简介.
XAMPP設定 - Apache.
VM架設及LAMP基本設定 陳柏盛.
Linux.
輕量級伺服器設置 1.HFS檔案伺服器架設實務與演練 2.AppServ與網路架站概說 3.AppServ+Xoops架設實務與演練
第四章 網頁表單與資料傳遞.
Web Server 架設.
台灣大學計算機及資訊網路中心 教學研究組 張傑生
PHP與SQL語法存取MySQL SQL
Q101 在701 SDX Linux上的標準安裝與使用程序v2
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
資料庫管理 操作DBMS 指導教授:楊維邦  助教:廖皓翔.
第二章 Linux基本指令與工具操作 LINUX 按圖施工手冊.
Wireless and Mobile Multimedia Networks
第一組 指導教授:潘仁義老師 組 員:方明建 盧宗宏
Working with Databases (II) 靜宜大學資管系 楊子青
讲议: PXE 介绍及实现 Jarvis
Joomla 裝了,然後呢?.
Cloud (AWS) 產品放置 ex.巴士, 球場, 旅館 …. 客戶需求SW模組化 1.客製化需求 2.Web技術
SQL Stored Procedure SQL 預存程序.
R教學 安裝RStudio 羅琪老師.
第4章 OSI傳輸層.
Echo Server/Client Speaker:Fang.
OpenID與WordPress使用說明
連結資料庫管理系統.
硬體話機設定說明.
雲端計算.
IP, Port, Router and Port forward
軟體工程:如何開發軟體? 把它看成是一件工程。 那麼就會有一些工具、技術、方法,也有管理的議題。
第 22 章 架設 WWW 伺服器.
2010電資院 「頂尖企業暑期實習」 經驗分享心得報告
網路安全技術期末報告 Proxy Server
虛擬機器 下載QEMU Windows版 (0.9.1) 下載Kqemu Windows版 安裝QEMU 安裝Kqumu
解析系統介紹 TWNIC 2000年11月27日.
架站實做—AppServ
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 3 章 安裝 WebServ.
Chang Chi-Chung 國立大里高級中學
Linux作業系統 電腦教室Linux使用說明.
Wireshark DNS&HTTP封包分析
網頁程式概論 建國科技大學資管系 饒瑞佶 2015/9 V1 2016/4 V2 2016/9 V3.
Web Programming 網際網路程式設計
表格(HTML – FORM).
中国科学技术大学计算机系 陈香兰 Fall 2013 第三讲 线程 中国科学技术大学计算机系 陈香兰 Fall 2013.
第12章 MySQL資料庫系統的使用 12-1 網頁資料庫的基礎 12-2 MySQL資料庫系統
本學期資訊系統開發專案之技術架構.
IIS Internet Information Services
個人網路空間 資訊教育.
第八章 Linux WWW和ftp服务的配置
編輯網頁可用那些應用程式? 記事本 Word FrontPage Dreamweaver.
Unix 安裝過程 使用2個磁片 到 rawwrite bootnet.img drvnet.img 利用rawwrite 將image檔寫入磁片.
基本指令.
Brief Guide of FrontPage
Virtualization.
Server 觀念 & Joomla 安裝初體驗
第1章 WWW和LAMP基本觀念.
Chapter 4 Multi-Threads (多執行緒).
Develop and Build Drives by Visual C++ IDE
Presentation transcript:

Apache @ Ubuntu

如何學 Unix? http://linux.vbird.org/linux_basic/0110whatislinux.php 計算機概論與硬體知識 網路基礎知識 安裝與指令 作業系統的基礎技能 vi文書編輯器 Shell與Shell Script 軟體管理 (安裝 & 維護) 2018/11/14

進度 計算機概論與硬體知識 網路基礎知識 安裝與指令 作業系統的基礎技能 vi文書編輯器 Shell與Shell Script 軟體管理 (安裝 & 維護) 2018/11/14

Usage of operating systems for websites http://w3techs.com/technologies/overview/operating_system/all http://w3techs.com/technologies/details/os-linux/all/all

Usage of operating systems for websites

Subcategories of Linux

網頁伺服器 (Web Server) Apache (Free) IIS (微軟) NGINX (唸作:Engine X) etc

Apache

Hostname vs Active sites http://news.netcraft.com/archives/2016/03/18/march-2016-web-server-survey.html

Hostname vs Active sites

Web server developers: Market share of active sites (2016/3)

Web server developers: Market share of active sites (2017/2)

Market share of the top million busiest sites (2016/3)

Market share of the top million busiest sites (2017/2)

NGINX (唸作:Engine X)

Apache2 安裝 $ sudo apt-get install apache2 $ sudo aptitude install apache2 apt-get or aptitude? http://www.arthurtoday.com/2010/03/apt-aptitude.html

關閉或重新啟動 apache $ sudo /etc/init.d/apache2 start $ sudo /etc/init.d/apache2 stop $ sudo /etc/init.d/apache2 restart $ sudo service apache2 restart

PHP 安裝 $ sudo apt-get install php5 libapache2-mod-php5 php5-gd php5-mysqli $ sudo apt-get install php4 libapache2-mod-php4 php4-gd php4-mysqli $ sudo /etc/init.d/apache2 restart $ sudo service apache2 restart

MySQL 安裝 $ sudo apt-get install mysql-server mysql-client

修改 MySQL 密碼 $ sudo mysqladmin -u root -p password <輸入您要的新密碼>

重新啟動 MySQL $ sudo /etc/init.d/mysql restart sudo service mysql restart

Apache2 設定 Debian 裡面的 Apache2 和其他發行版的管理方式有點不同 Ubuntu 也繼承到 Debian 的這個特性 在 Debian 的設定檔不再是傳統的 httpd.conf,而是放在 apache2.conf,並且把很多模組設定或者虛擬主機設定拆開來放到各自的目錄。 這些獨立出來的設定檔又可以透過 Debian 專屬的工具程式啟用或關閉 Ubuntu 也繼承到 Debian 的這個特性

Apache2 設定 apache2.conf 以下投影片內容主要參考 … 1.鳥哥的 Linux 私房菜: http://linux.vbird.org/linux_server/0360apache.php 2. http://xuxueliang.blog.51cto.com/5576502/971093

apache2.conf 重要設定 ServerRoot "/etc/apache2" Apache Server 設定檔放置處

apache2.conf 重要設定 KeepAlive On / Off 是否允許持續性的連線,亦即一個 TCP 連線可以具有多個檔案資料傳送的要求。 原則上 … 如果你的網頁內含很多圖檔,那麼這一次連線就會將所有的資料送完,而不必每個圖檔都需要進行一次 TCP 連線  改為 On 較佳 如果你的網站多為動態網頁 (e.g., 內容為資料庫存取)  改為 Off 較佳

Refresh 一次,GET 了無數東東 …

Skype, Line 2018/11/14 27

In DOS command 視窗輸入:netstat -n 2018/11/14 28

TCP connection establishment establishing connection-oriented connection (three-way handshake) 2018/11/14 29

apache2.conf 重要設定 Timeout 300 不論接收或傳送,當持續連線等待超過 300 秒則該次連線就中斷 一般來說,此數值在 300 秒左右即可,不需要修改這個原始值  by 鳥哥 But, 300 is still far more than necessary in most situations. It is not set any lower by default because there may still be odd places in the code where the timer is not reset when a packet is sent. (http://users.cis.fiu.edu/~downeyt/cgs4854/timeout)

apache2.conf 重要設定 MaxKeepAliveRequests 100 MaxKeepAliveRequests 是每次 Client 端建立連線後,可以要求最大的檔案數,設成 0 為不限制,或者可以把它設高一點,尤其是在網頁很複雜的時候, 效能會有明顯改善 為了增進效能則可以改大一點,e.g. 500

apache2.conf 重要設定 (mods-enabled/mpm_prefork.conf) <IfModule prefork.c> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 (MaxRequestWorkers) MaxRequestsPerChild 0 </IfModule>

What is “prefork”? mpm-worker mpm-prefork etc 數個 child processes,每個 processes 都會再有數個 threads 很多第三方的套件沒有 thread safe,也就是沒有考慮到 multi-thread 的問題  不穩定! mpm-prefork 最傳統的模式,運作時會有數個 child processes,每個 processes 都只跑一個 thread 效能較差且耗費比較多記憶體,穩定性比較好! etc

apache2.conf 重要設定 StartServers 5 # StartServers 為 Apache2 啟動時,會啟用幾個程序 (processes),可以透過 ps -aux 來驗證。若您的網站流量很大,可以改大一點,但是若用量沒有那麼大,會浪費系統資源。   

apache2.conf 重要設定 MinSpareServers 5 MaxSpareServers 10 最小 & 最大的預備使用的程序 (processes) 數量。   

apache2.conf 重要設定 MaxClients 150 ( MaxRequestWorkers) 最大的同時連線數量,也就是程序 (processes) 不會超過此一數量,可以視您網站的規模修改

apache2.conf 重要設定 MaxRequestsPerChild 0 無限制 每個程序能夠提供的最大傳輸次數要求。 舉例來說,如果有個使用者連上伺服器後(一個 process),卻要求數百個網頁,當他的要求數量超過此一數值, 則該程序會被丟棄,另外切換一個新程序。 這個設定可以有效的控管每個 process 在系統上的『存活時間』。 因為根據觀察所得,新程序的效能較佳

用白話文說 … <IfModule prefork.c> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxRequestWorkers 150 MaxRequestsPerChild 0 </IfModule> 假設有 10 個人連上來,左邊 這個設定代表 … 1. apache 此時的程序數應有 15-20 個 2. 而這個最終程序數不可超過 150 個

$ top

apache2.conf 重要設定 DocumentRoot /www/htdocs 網頁放置的根目錄 000-default.conf in sites-enabled ServerName www.im.ncue.edu.tw 主機所傾聽 (listen) 的網域

apache2.conf 重要設定 (mods-enabled) DirectoryIndex index.html index.cgi index.pl index.php index.xhtml 若沒有明確指定網頁檔名,Apache2 會依序以下順序來嘗試送給 client 端瀏覽器 In mods-enabled dir.conf

apache2.conf 重要設定 (/etc/apache2/envvars) User www-data Group www-data Apache2 Server 執行時所用的帳號和群組,若沒有特別的理由可以不用更動 Now in /etc/apache2/envvars

apache2.conf 重要設定 (in conf.d/charset) #AddDefaultCharset Big5 AddCharset utf-8 .utf8 AddCharset big5 .big5 .b5 AddDefaultCharset 千萬不要加上去,這個方式會在表頭就送出說這個網頁是用什麼語言編碼,但是若您的網頁有 big5 和 utf-8 混用的話,就會造成錯誤! 正確的作法是在網頁 html 內都指定編碼,如 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 後面那些 AddCharset 是指可以支援的編碼,預設都設好了,不要改動。

apache2.conf 重要設定 AccessFileName .htaccess The name of the file to look for in each directory for additional configuration directives https://docstore.mik.ua/orelly/linux/apache/ch05_11.htm

apache2.conf 重要設定 Include …

Include … Include conf.d/ Include sites-enabled/

ports.conf

mods-enabled

mods-available

Add / Remove module $ a2enmod userdir $ a2dismod userdir (Anytime you change some configuration, do remember to restart apache…)

新增模組 - 1 (以啟用 “個人網頁” 為例) What is “個人網頁”? Recall … you create a sub-directory “www” under your home directory, put your web files there. there you go … http://120.107.152.251/~tkwu/

新增模組 - 2 (以啟用 “個人網頁” 為例) 在非 Debian and Ubuntu 系統,it’s … UserDir www ^^^^^預設為 public_html But,在 Ubuntu 裡,使用者個人網頁獨立到一個額外的模組和設定檔

新增模組 - 3 (以啟用 “個人網頁” 為例) 啟用個人網頁 $ a2enmod userdir $ /etc/init.d/apache2 restart $ service apache2 restart 關閉個人網頁: $ a2dismod userdir $ /etc/init.d/apache2 restart

新增模組 - 4 (以啟用 “個人網頁” 為例) 個人網頁設定檔 /etc/apache2/mods-available/userdir.conf

虛擬主機 一主機多網站 IP-based Name-based 需搭配 DNS Port-based

IP-based

Name-based

Port-based

Name-based 虛擬主機設定 - 1 (以新增 “tkwu.im.ncue.edu.tw” 為例) Copy 範本 $ cd /etc/apache2/sites-available $ cp 000-default.conf tkwu.conf

Name-based 虛擬主機設定 (以新增 “tkwu.im.ncue.edu.tw” 為例)

Name-based 虛擬主機設定 (以新增 “tkwu.im.ncue.edu.tw” 為例) 啟用新的虛擬主機站台 $ a2ensite tkwu $ /etc/init.d/apache2 restart / reload Done! Well, not yet! You need to configure your DNS server appropriately…

Hierarchy of DNS Servers 2018/11/14 63

2018/11/14 64