A. 如何在centos中搭建一個web伺服器
安裝護衛神·主機大師,一鍵安裝apache/nginx+php+mysql,在線開設網站。
B. centOS-7怎麼搭建web伺服器
用Tomcat或者apache都可以
C. 如何在阿里雲Centos7.0上配置java web環境
1、安裝jdk
2、安裝tomcat(或其他)
3、配置java環境變數和catalina_home
vim /etc/profile//添加如下配置(具體路徑根據需要修改)
export JAVA_HOME=/usr/local/jdk1.7.0_79
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_LIB=$JAVA_HOME/lib
export CATALINA_HOME=/usr/local/apache-tomcat-8.0.39
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$CATALINA_HOME/bin:$PATH
source profile//立即生效
一切配置完成,進入tomcat的bin,./startup.sh啟動伺服器。如果webapps裡面有工程的話就啟動了,logs目錄下是日誌,一般看catalina.out。
D. centos 5.5 怎麼安裝web伺服器
一、web的安裝配置
1、安裝:yum install httpd mod_ssl -y
mod_ssl 是實現 https 協議時所依賴的包
2、配置文件的相關說明:
配置文件:
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf
服務腳本:
/etc/rc.d/init.d/httpd
腳本配置文件:/etc/sysconfig/httpd,這里可以定義MPM的類型
模塊目錄:
/usr/lib64/httpd/moles
/etc/httpd/moles
/etc/httpd/moles是/usr/lib64/httpd/moles的鏈接文件
主程序:
/usr/sbin/httpd: prefork 模式
/usr/sbin/httpd.event: event模式
/usr/sbin/httpd.worker: worker模式
日誌文件:
/var/log/httpd/access_log: 訪問日誌
/var/log/httpd/error_log: 錯誤日誌
站點文檔的根目錄:
/var/www/html
二、httpd的配置文件說明
# grep "Section" httpd.conf
### Section 1: Global Environment
### Section 2: 'Main' server configuration
### Section 3: Virtual Hosts
主要分為三部分:全局配置,主伺服器配置,虛擬主機的配置。主伺服器和虛擬主機一般不同時使用;默認僅啟用了主伺服器。在每個部分中有許多指令參數,這些指令參數不區分字元大小寫,但其值有可能會區分大小寫。
三、配置文件選項詳細說明
1、持久連接
通常的參數有:
KeepAlive {On|Off} 是否開啟持久連接功能。默認是 Off。
以下這2個指令參數只有在KeepAlive On 時才有效
KeepAliveRequests 100 允許的一次持久連接的最大請求數。
KeepAliveTimeout 2次持久連接時間的間隔
驗證效果:
2、MPM 參數
ServerStart 參數的驗證,共有9個相關的進程,其中一個是其他 8 個的父進程:
3、監聽的埠
指定格式:Listen [IP:]port 默認的埠號是80
這個埠可以自己指定,一般使用大家熟知的埠,常用的有 80 和 8080。
4、DSO 動態共享對象
在這里可以實現動態庫的裝載,可以使用 httpd -D MODULES 或者 httpd -M 來查看已載入的模塊名。
示例:
使用 mod_deflate 模塊壓縮頁面來優化傳輸速度。
未使用 mod_deflate 模塊,訪問 http;//192.168.1.66/messages 文件時相應的位元組數大小是:316080 位元組。
載入 mod_deflate 模塊,並進行配置 vim /etc/httpd/conf/httpd.conf。
載入後的驗證,載入 mod_deflate 模塊後的大小是 41902 位元組,壓縮比還是相當可觀的。
5、指定站點的根目錄
DocumentRoot 「/var/www/html」 這是 rpm 安裝方式的默認的根站點目錄。當然這個可以根據自己的需求來設定。
6、基於目錄和文件的訪問控制
使用 directory 指令基於本地文件系統來實現對目錄的訪問控制。
常見的控制指令有:
Options:
Indexes:Indexes: 當訪問的路徑下無默認的主頁面,將所有資源以列表形式呈現給用戶。
FollowSymlinks: 跳躍符號鏈接
AloowOverride: 支持在每個頁面目錄下創建.htaccess用於實現對此目錄中資源訪問時的訪問控制功能。
AuthCofig:用於實現用戶認證的目的。
Order結合deny from、allow from 一起使用,來基於 IP 地址設定訪問控制
例如:
這是設置訪問白名單的設置,只允許 172.16 網段的客戶端來訪問對應的目錄。當然 from 後面的地址是比較靈活的,像:172.16,172.16.0.0,172.16.0.0/16,172.16.0.0/255.255.0.0這種形式的都是允許的。
Order allow,deny
Allow from 172.16.0.0/16
當然,上面對目錄的控制,也可以使用 Locaton 指令基於URL來實現。
DocumentRoot 「/var/www/html」
<Directory "/var/www/html/admin">
訪問控制參數
</Directory>
等價於:
<Location "/admin">
訪問控制參數
</Location>
對於 Option Indexex參數示例,一般此選項作為文件伺服器,提供下載使用時使用到此選項,其他情況應慎重使用。
7、指定默認訪問的主頁面
默認的使用格式如下:這里也可以自己定義主頁面
DirectoryIndex index.html index.html.var
8、配置日誌功能
ErrorLog "/path/to/error_log" 指明錯誤日誌的路徑,可以適應相對地址。相對於 ServerRoot 指令所定義的目錄
LogLevel {debug|info|notice|warn|error|crit|alert|emerg} 指定日誌的級別
LogFormat 指定日誌文件的格式
CustomLog "/path/to/access_log" LogFormat_Name 指定 access_log 的路徑個和使用的格式
%h: 客戶端地址
%l: 遠程登錄名,通常為-
%u: 認證時輸入用戶名,沒有認證時為-
%t: 伺服器收到 用戶請求時的時間
%>s: 響應狀態碼
%b: 響應報文的長度,單位是位元組
%{HEADER_NAME}i: 記錄指定首部對應的值
9、路徑別名
使用指令參數:Alias 實現URL 路徑映射時,訪問的路徑不在依賴於站點的根目錄。
10、基於用戶訪問控制
基於用戶的認證的方式有基本認證(Basic)和摘要認證(digest)。這里是基於虛擬用戶來實現的。實現的方式有:文本文件、資料庫、ldap、資料庫引擎來提供API介面。
以基於文件的形式實現用戶訪問的控制來示例:
1、vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/admin">
Options none# optons 選項控制
AllowOverride AuthConfig # 實現用戶認證
AuthType Basic # 認證方式是 Basic
AuthName "Admin Area." # 提示信息
#AuthBasicProvider file # 認證方式的提供者
AuthUserFile /etc/httpd/conf/.htpasswd # 認證文件的路徑
Require valid-user # 登陸用戶控制 require user USER_NAME
</Directory>
2、提供認證文件
由 htpasswd 命令得到。常用選項:
-c: 如果此文件事先不存在,則創建;注意,只能在創建第一個用戶時使用
-m: 以md5的格式編碼存儲用戶的密碼信息
-D: 刪除指定用戶
例如:
htpasswd -c -m /etc/hhtpd/.htpasswd tom
3、組認證
<Directory "/var/www/html/admin">
Options none
AllowOverride AuthConfig
AuthType Basic
AuthName "Admin Area."
#AuthBasicProvider file
AuthUserFile /etc/httpd/conf/.htpasswd
AuthGroupFile /etc/httpd/conf/.htgroup # 組文件的路徑,自己手動建立
Require group GROUP_NAME
</Directory>
組文件格式:
組名:user1 user2 user3
11、虛擬主機
虛擬主機:使用不同訪問路徑
基於埠:通過不同的埠來提供不同的訪問站點
基於IP:基於不同的 ip 地址來訪問不同的站點
基於主機名:相同的 IP 地址通過不同的主機名來實現訪問不同的站點
(1) 使用虛擬的前提:取消主伺服器
注釋主伺服器的站點根路徑指定:DocumentRoot
(2) 定義虛擬主機
NameVirtualHost IP:PORT # 指定監聽的地址和埠
<VirtualHost IP:PORT>
ServerName # 主機名
ServerAlias # 定義多個主機名,此時 ServerName 的名稱應該是 UR
DocumentRoot # 根站定目錄
ServerAlias # 主機別名
ErrorLog # 錯誤日誌的定義
CustomLog #訪問日誌的定義
</VirtualHost>
配置文件語法檢查:
httpd -t
service httpd configtest
配置完成虛擬主機後,可使用 httpd -S 顯示配置的虛擬主機
測試:crul URL
12、https協議
由於http 協議在傳輸過程中使用的是明文傳輸。所以就出現了 https 協議來實現加密的 https 協議。ssl會話基於IP地址創建,所以,每一個IP僅創建一個SSL會話。https協議:是基於SSL二進制編碼, 監聽於443/tcp。
ssl握手要完成的工作:
交換協議版本號
選擇雙方都支持的加密方式
客戶端對伺服器端實現身份驗正
密鑰交換
客戶端驗正伺服器端證書:
有效性檢測:證書是否仍然在有效期內
CA的可信度檢測
證書的完整性檢測
持有者的身份檢測
配置httpd工作於https:
(1) 安裝mod_ssl模塊
# yum install mod_ssl
(2) 為服務端生成私鑰,並為其提供證書;
在服務端(172.16.10.9):
# (umask 077;openssl genrsa -out /etc/pki/CA/private/cacert.key 2048)
# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 1000
# touch index.txt
# echo "01" > serial
在客戶端:
#(umask 077;openssl genrsa -out /etc/httpd/httpd.key 2048)
#openssl req -new -key /etc/httpd/httpd.key -out /etc/httpd/httpd.csr
將 httpd.csr 傳到服務端簽名:
在服務端:
# openssl ca -in /root/httpd.csr -out /root/httpd.crt -days 1000
將簽好的證書,httpd.crt 傳回到客戶端,放到 /etc/httpd/ 目錄下
(3) 配置使用https的虛擬主機
<VirtualHost IP:443>
SSLCertificateFile # 證書路徑
SSLCertificateKeyFile # 證書私鑰文件
DocumentRoot # 虛擬主機的根站點
ServerName # 虛擬主機的主機名
</VirtualHost>
(4) 重新裝載配置
httpd reload
(5) 測試
# openssl s_client -connect IP:PORT -CAfile /path/to/ca_certificate
13、status頁面
httpd內嵌有handler,其中有一個handler用於輸出當前httpd服務相關狀態信息handler: server-status
啟用handler要使用SetHandler指令
handler: 當文件被調用時,apache內部表示形式;一般每種文件類型都有其隱式處理器
示例:基於 10、11、12、13
建立httpd伺服器(基於編譯的方式進行),要求:
提供兩個基於名稱的虛擬主機:
a www1.stu10.com,頁面文件目錄為/web/vhosts/www1;錯誤日誌為/var/log/httpd/www1.err,訪問日誌為/var/log/httpd/www1.access;
(b)www2.stu10.com,頁面文件目錄為/web/vhosts/www2;錯誤日誌為/var/log/httpd/www2.err,訪問日誌為/var/log/httpd/www2.access;
(c)為兩個虛擬主機建立各自的主頁文件index.html,內容分別為其對應的主機名;
(d)通過www1.stu10.com/server-status輸出httpd工作狀態相關信息,且只允許提供帳號密碼才能訪問(status:status);
1、配置文件的的編輯,vim /etc/httpd/httd.conf
還的注釋主配置下的 DocumentRoot "/var/www/html"
2、 創建對應的站點和提供密碼文件
# 創建對應的站點目錄並提供默認的頁面
mkdir /web/vhosts/www1/ -p
mkdir /web/vhosts/www2/ -p
echo "<h1>welcom www1.guotig.com<h1>" > /web/vhosts/www1/index.html
echo "<h1>welcom www2.guotig.com<h1>" > /web/vhosts/www2/index.html
# 提供用戶認證文件
htpasswd -cm /etc/httpd/conf/.htpasswd status
mkdir /web/hosts/www1/server-status
chowm apache.apache /web/hosts/www1/server-status
3、提供主機名解析文件 在/etc/hosts中添加:(在測試客戶端)
172.16.10.9 www1.stu10.com www2.stu10.com
4、測試結果如下:
為上面的第2個虛擬主機提供https服務,使得用戶可以通過https安全的訪問此web站點;
(1)要求使用證書認證,證書中要求使用的國家(CN)、州(Henan)、城市(Zhengzhou)和組織(MageE)
(2)設置部門為Ops,主機名為web.mage.com,郵件為[email protected]
1、編輯 vim /etc/httpd/conf.d/ssl.conf 添加以下內容
當然在 /etc/httpd/conf/httpd.conf,要載入 mod_ssl 模塊
使用 httpd -S 來查看已經配置好的虛擬機
2、提供證書
mkdir /etc/httpd/ssl && cd /etc/httpd/ssl
(umask 077; openssl genrsa -out httpd.key 1024)
openssl req -new -key httpd.key -out httpd.csr
去服務端簽署證書:
openssl ca -in httpd.csr -out /httpd.crt -days 300
簽署後的證書存放到:/etc/httpd/ssl/httpd.crt
3、驗證結果
首次訪問時會出現導入證書的問題,導入證書就可訪問。
導入證書就可以訪問了。
14、httpd程序包自帶的工具介紹
httpd: apache伺服器程序
-t: 測試配置文件
-l: 列表靜態模塊
-D DUMP_MODULES:列出DSO模塊
-M:等價於 -t -D DUMP_MODULES
-D DUMP_VHOSTS: 列出所有虛擬主機
htpasswd: 為基於文件的basic認證創建和更新用戶認證文件
apachectl: 腳本,httpd服務控制工具,可啟動,關閉,重新載入配置文件。
ab: (apache benchmark)httpd的基準性能測試工具;
apxs: httpd得以擴展使用第三方模塊的工具;
htcacheclean: 磁碟緩存清理工具;
htdigest: 為digest認證創建和更新用戶認證文件
httxt2dbm: 為rewrite map創建dbm格式的文件
rotatelogs: 日誌滾動,不關閉httpd而切換其使用日誌文件的工具
suexec: 當httpd進程需要以另外的用戶的身份去訪問某些資源時,可以以suexec作臨時切換;
15、ab工具的初步使用
同類工具:http_load, webbench, seige
Usage: ab [options] [http[s]://]hostname[:port]/path
常用的參數:
-c #: 模擬的並發數;
-n #: 總的請求數,-n的值一定要大於等於-c的值;
使用 ab -c 100 -n 5000 http://www.stu10.com/index.html測試的結果如下:
但是把並發量提高到2000的時候,就會出現以下的錯誤。
這是由於資源限定的問題,一般情況下,Linux默認打開的文件數是1024。
E. 怎樣搭建web項目測試環境
測試環境的搭建是一名合格QA必須具備的技能。下面,結合CI和CD兩種不同軟體生產實踐,總結一下如何從零開始部署一套web集成測試環境。
1.伺服器准備。根據項目和使用的中間件的規模,准備好一個或多個資源配置能夠滿足要求的伺服器,一般選用linux下 centos的某個發行版作為伺服器。
2.安裝資料庫、完成資料庫表的建立。這里以開源的mysql為例。
Yum方式安裝msyql,並啟動mysql服務。(Yum的安裝可以參考http://blog.csdn.net/iamhuanggua/article/details/60140867)
yuminstall -y mysql-server mysql mysql-devel
創建資料庫和建表。規范的的系統,一般都保留有現成的SQL腳本,執行腳本就可以完成資料庫和表的建立。
3.安裝和配置JDK、tomcat、nginx…
安裝JDK。Yum 方式安裝最新版JDK:yum install JDK。
安裝tomcat。官網下載tomcat,解壓。
wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.75/bin/apache-tomcat-7.0.75-linux-x64.zip
安裝和配置 nginx。官網下載nginx,解壓後,修改conf/nginx.conf配置請求轉發規則。
4.安裝持續集成工具jenkins.
Jenkins就是一個web服務,只需要從官方下載jenkins的war包,部署到web容器tomcat的webapp目錄下,啟動tomcat服務,就可以在瀏覽器端輸入IP和埠號(例如:部署在本機上可以通過 localhost:8080/jenkins 進行訪問)使用了。
5.配置一個Jenkins job用於編譯、打包產品、部署到測試環境
5.1 配置job完成編譯和打包。編譯打包的Jenkinsjob的配置比較簡單,可以自行網路。
5.2 在部署web服務的機器上,找一個目錄,寫一個shell腳本,拷貝jenkins job打出來的包到web伺服器的部署目錄下,並重啟服務。如果部署jenkins 和部署web服務的機器不是同一台,需要通過用戶名密碼或者建立linux機器之間的信任關系後,通過scp遠程拷貝。
5.3 在5.1的job中,增加「構建後操作」,構建後執行(或遠程執行)5.2中編寫的sh腳本。
6.配置一個或多個Jenkins job 用來完成一系列測試(包括但不限於UI自動化、介面自動化、安全測試等)
測試job的構建方式選擇步驟五中配置的job完成後觸發。到此為此,持續集成的工作就完成了。
7.從CI到CD——配置一個Jenkins ob 完成生產環境部署
如果所在組織的持續集成能力較高,在實施持續部署(Continous Deployment),就還需要配置一個jenkins job在所有測試job都通過後觸發部署生產包到生產環境。部分用戶群較大的產品還需要配置灰度發布。
F. 如何在centos7搭建web伺服器
首先,需要在centos7上面配置網站所需要的環境。
如果說你不會配置網站環境,那可以安裝webmin、kloxo、cp等面板來使用。
因為這樣的面板在配置好之後都是配置好網站所需要的阿帕奇、mysql等環境的。