1.做實驗之前先執行下面的關閉防火牆和selinux操作
關閉防火牆:
systemctl stop firewalld --臨時關閉防火牆
systemctl disable firewalld --永久關閉防火牆
關閉selinux:
臨時關閉:
setenforce 0
永久關閉:
vim /etc/selinux/config
SELINUX=disabled # 將enforcing改為disabled
reboot --重啟系統永久生效
開始安裝apache服務:
2.使用yum安裝:
yum install httpd -y
提示complete 一般就是安裝成功了,可以使用yum info httpd檢查是否安裝成功,安裝的版本等
3.修改配置文件
安裝完成后,一般我們需要修改主配置文件,目錄:/etc/httpd/conf/httpd.conf
使用vi /etc/httpd/conf/httpd.conf 打開它,可以看到下面這些配置
ServerRoot |
服務目錄,存放配置文件的目錄 |
ServerAdmin |
管理員郵箱 |
User |
運行服務的用戶 |
Group |
運行服務的用戶組 |
ServerName |
網站服務器的域名 |
DocumentRoot |
網站數據目錄,站點路徑,默認:/var/www/html |
Listen |
監聽的端口號 |
DirectoryIndex |
默認的索引頁頁面 |
ErrorLog |
錯誤日志文件 |
CustomLog |
訪問日志文件 |
Timeout |
網頁超時時間,默認為300秒. |
Include |
需要加載的其他文件 |
Options Indexes FollowSymLinks # 找不到主頁時,以目錄的方式呈現,並允許鏈接到網站根目錄以外
AllowOverride None # none不使用.htaccess控制,all允許
Require all granted # granted表示運行所有訪問,denied表示拒絕所有訪問
AddDefaultCharset UTF-8 # 字符編碼,如果中文的話,有可能需要改為gb2312或者gbk,因你的網站文件的默認編碼而異
修改httpd.conf的AllowOverride值,改成All,這里會有好幾個地方都需要修改。
4.啟動apache服務
systemctl start httpd
如果啟動服務后又修改了配置文件,需要重啟服務,systemctl restart httpd
啟動服務后,可以嘗試寫個簡單網頁,檢查能否打開網頁。
5.測試網站
輸入命令:
vi /var/www/html/index.html
打開文件后,隨便輸入一些值,比如hello linux
打開windows電腦的瀏覽器,輸入搭建了apache服務的linux電腦的ip,顯示hello linux就搭建成功了。
6.部署多個網站
有時候會有需求要將多個網站同時部署在一台服務器上
先創建一個extra文件夾:
mkdir /etc/httpd/conf/extra/
進入到該目錄下:
cd /etc/httpd/conf/extra/
創建一個文件:
vi httpd-vhosts.conf
輸入以下內容:
<VirtualHost *:80>
ServerAdmin xx@qq.com # 管理員郵箱,網站故障會給該郵箱發送郵件
DocumentRoot "/var/www/test1/" # 指定網站www.abc.com的站點目錄
ServerName www.abc.com # 指定網站域名
ServerAlias abc.com # 指定網站別名
ErrorLog "logs/www-error_log" # 指定錯誤日志目錄
CustomLog "logs/www-access_log" common # 指定訪問日志目錄
</VirtualHost>
<VirtualHost *:80> #只有順序上的第一個虛擬主機可以配置別名,別的配了也沒用
ServerAdmin xx@qq.com
DocumentRoot "/var/www/test2"
ServerName blog.test.com
ErrorLog "logs/blog-error_log"
CustomLog "logs/blog-access_log" common
</VirtualHost>
這里配置了兩個VirtualHost就表示支持兩個網站,如果是兩個以上,那就再繼續加VirtualHost,但是也不建議一台服務器上太多網站,擔心相互之間會有影響。
注意將注釋的內容刪掉,不然會有語法錯誤。
然后打開主配置文件,vi /etc/httpd/conf/httpd.conf
增加一句話,引用虛擬主機配置文件:
Include conf/extra/httpd-vhosts.conf
檢查是否有語法錯誤:
apachectl -t
重啟服務:
apachectl graceful
或者systemctl restart httpd
修改本地hosts文件
打開C:\Windows\System32\drivers\etc\hosts文件,添加如下內容:
192.168.235.82 www.abc.com blog.abc.com abc.com
注意:hosts文件不能直接編輯,需要修改以下權限,右鍵hosts,點屬性,打開后,選擇“安全”選項卡,點擊“編輯”,將權限都勾選上,確定后再添加hosts
這樣改的目的是什么呢?主要是因為我們的域名www.abc.com不是真實在互聯網注冊過的,DNS服務器就解析不到該域名,瀏覽器在找DNS服務器之前會先找hosts文件,所有可以修改hosts文件,使其能通過域名找到我們的IP
接下來在/var/www/test1中新建一個index.html,輸入內容test1111
在/var/www/test2中新建一個index.html,輸入內容test2222
打開瀏覽器輸入網址www.abc.com 就可以看到test1111
輸入blog.test.com就可以看到test2222
這樣就完成了。
參考鏈接:
https://www.cnblogs.com/fisherpau/p/11375874.html
https://blog.csdn.net/qq_36700059/article/details/94876829