apache服務器多網站部署及壓力測試

apache 虛擬主機部署以及壓力測試

一臺web服務器=一個網站 ? NO

一臺服務器=多個網站 YES !

虛擬主機配置GOGO

虛擬主機部署的三種方式:html

  • 單個ip多個端口
  • 多個ip一個端口
  • 單個ip單個端口不一樣域名(經常使用)

一 、二進制安裝apache

apache能夠採用yum和二進制源碼安裝,儘管yum安裝快捷方便且能解決依賴問題,可是配置目錄零散,不適合企業的維護,故使用源碼安裝能夠指定安裝版本與指定目錄,便於維護升級nginx

1.配置yum源

參考yum源三大經常使用配置其中一種方式便可c++

2.下載依賴包

yum install apr apr-devel apr-util apr-util-devel pcre* gcc gcc-c++ -yweb

3.下載二進制包

wget https://mirror.bit.edu.cn/apache/httpd/httpd-2.4.43.tar.bz2

 tar -xjvf httpd-2.4.43.tar.bz2 

cd httpd-2.4.43/

./configure --prefix=/usr/local/apache2/ --enable-rewrite --enable-so

make && make install

apache服務器多網站部署及壓力測試

4.關閉防火牆,啓動apache

setenforce 0

systemctl stop firewalld.service

/usr/local/apache2/bin/apachectl start

apache服務器多網站部署及壓力測試

有個告警,提示沒有打開80端口監聽shell

echo "ServerName localhost:80" >> /usr/local/apache2/conf/httpd.conf

/usr/local/apache2/bin/apachectl restart

apache服務器多網站部署及壓力測試

告警消失,測試正常apache

apache服務器多網站部署及壓力測試

5.apache目錄介紹(二進制安裝)

/usr/local/apache2/bin Apache       # 命令目錄
/usr/local/apache2/build Apache     # 構建編譯目錄
/usr/local/apache2/htdocs/          # 源碼安裝 Apache 網站發佈目錄
/usr/local/apache2/cgi-bin          # 可執行的 CGI 程序存放目錄
/usr/local/apache2/include          # Apache引用配置文件目錄
/usr/local/apache2/logs             # Apache日誌目錄
/usr/local/apache2/man              # Apache幫助文檔目錄
/usr/local/apache2/manual           # Apache手冊
/usr/local/apache2/modules          # Apache模塊路徑

2、配置虛擬主機

1.啓用虛擬主機

vim /usr/local/apache2/conf/httpd.confvim

Include conf/extra/httpd-vhosts.conf #開啓vhost瀏覽器

apache服務器多網站部署及壓力測試

2.編輯虛擬主機配置文件

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf安全

<VirtualHost *:80>
    DocumentRoot "/usr/local/apache2//htdocs/xiaoxian1"
    ServerName www.xiaoxian1.com
    ServerAlias xiaoxian1
    ErrorLog "logs/www.xiaoxian1.com-error_log"
    CustomLog "logs/www.xiaoxian1.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/usr/local/apache2//htdocs/xiaoxian2"
    ServerName www.xiaoxian2.com
    ErrorLog "logs/www.xiaoxian2.com-error_log"
    CustomLog "logs/www.xiaoxian2.com-access_log" common
</VirtualHost>
mkdir -p /usr/local/apache2//htdocs/{xiaoxian1,xiaoxian2}
# 建立虛擬主機根目錄

/usr/local/apache2/bin/apachectl restart

apache服務器多網站部署及壓力測試

touch /usr/local/apache2/htdocs/xiaoxian*/index.html

 echo "xiaoxian1" >> /usr/local/apache2/htdocs/xiaoxian1/index.html

echo "xiaoxian2" >> /usr/local/apache2/htdocs/xiaoxian2/index.html
# 建立虛擬主機index.html,並輸入測試文本

/usr/local/apache2/bin/apachectl restart

更改電腦的host文件性能優化

C:\Windows\System32\drivers\etc\hosts

apache服務器多網站部署及壓力測試

瀏覽器測試

apache服務器多網站部署及壓力測試

apache服務器多網站部署及壓力測試

重要:若是目錄中沒有index.html,則會顯示全部目錄信息

apache服務器多網站部署及壓力測試

這樣顯示是不安全的,只須要將vim /usr/local/apache2/conf/httpd.conf中的

apache服務器多網站部署及壓力測試

Options Indexes FollowSymLinks 改成 Options FollowSymLinks
重啓服務 /usr/local/apache2/bin/apachectl restart

apache服務器多網站部署及壓力測試
顯示沒有權限,比較安全

3、配置調優

vim /usr/local/apache2/conf/httpd.conf

<IfModule worker.c>
# worker MPM引擎配置段(prefork不經常使用)
ThreadLimit 200
ServerLimit 64
StartServers 8
# apache進程數
MaxClients 3000
# 每秒支持最大併發
MinSpareThreads 50
# 最小空閒進程
maxSpareThreads 100
# 最大空閒進程
ThreadsPerChild 100
# 每一個進程啓動的線程數
MaxRequestsPerChild 1000
# 每一個進程處理的最大請求數(0爲無限制)
</IfModule>

添加以上性能參數選項至配置文件httpd.conf底部

參數須要根據機器的性能優化,同時得知足公式,否則會報錯

ThreadLimit >= ThreadsPerChild
MaxClients <= ServerLimit * ThreadsPerChild 必須是ThreadsPerChild的倍數
MaxSpareThreads >= MinSpareThreads+ThreadsPerChild
# 如下原配置文件已存在,含義以下
DocumentRoot "/usr/local/apache2//htdocs"
<Directory "/usr/local/apache2//htdocs">                      
    Options  FollowSymLinks
    # 禁止瀏覽目錄
    AllowOverride None
    # 設置爲None時,目錄中的.htaccess文件不生效
    Require all granted
    # 容許全部
</Directory>

重啓服務 /usr/local/apache2/bin/apachectl restart

4、壓力測試-ab工具

/usr/local/apache2/bin/ab是apache自帶的壓力測試工具,也可以使用yum -y install httpd-tools安裝。ab不只能夠對apache服務器進行壓力測試,也能夠對nginx等進行測試

一些經常使用的ab參數
-c  #併發數(模擬用戶數)
-n  #執行次數(訪問次數)
-w  #以html打印測試結果
-A  #添加網絡認證(帳號密碼冒號隔開)
-e  #輸出結果到CSV格式中

/usr/local/apache2/bin/ab -c 1000 -n 10000 http://localhost/index.html

apache服務器多網站部署及壓力測試

查看系統負載狀況

apache服務器多網站部署及壓力測試

查看測試結果,OK

apache服務器多網站部署及壓力測試

相關文章
相關標籤/搜索