最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何使用Linux搭建web服務(wù)器

 更新時間:2023年12月21日 11:16:38   作者:網(wǎng)絡(luò)給個機會  
web?服務(wù)器提供的這些數(shù)據(jù)大部分都是文件,那么我們需要在服務(wù)器端先將數(shù)據(jù)文件寫好,并且放置在某個特殊的目錄下面,這個目錄就是我們整個網(wǎng)站的首頁,在?redhat?中,這個目錄默認在/var/www/html,這篇文章主要介紹了如何使用Linux搭建web服務(wù)器,需要的朋友可以參考下

搭建web服務(wù)器 

www 簡介

網(wǎng)址及 HTTP 簡介

web 服務(wù)器提供的這些數(shù)據(jù)大部分都是文件,那么我們需要在服務(wù)器端先將數(shù)據(jù)文件寫好,并且放置在某個特殊的目錄下面,這個目錄就是我們整個網(wǎng)站的首頁,在 redhat 中,這個目錄默認在/var/www/html。瀏覽器是通過你在地址欄中輸入你所需要的網(wǎng)址來取得這個目錄的數(shù)據(jù)的

  • URL:Uniform Resource Locator,統(tǒng)一資源定位符,對可以從互聯(lián)網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯(lián)網(wǎng)上標(biāo)準(zhǔn)資源的地址。
  • 網(wǎng)址格式:<協(xié)議>://<主機或主機名>[:port]/<目錄資源,路徑>
    • 瀏覽器常支持的協(xié)議有:http、https、ftp 等
    • 主機地址或者主機名:主機地址就是服務(wù)器在因特網(wǎng)所在的 IP 地址。如果是主機名的話,那么就需要域名解析了
    • 端口號(port):http 為 80,https 為 443 (IANA:互聯(lián)網(wǎng)數(shù)字分配機構(gòu))
    • 0-1023:眾所周知,永久地分配給固定的應(yīng)用程序使用,特權(quán)端口(只有管理員有權(quán)限啟用并讓進程監(jiān)聽)
    • 1024-41951:亦為注冊端口,但要求不是特別嚴格,分配給程序注冊為某應(yīng)用使用:3306/TCP
    • 41952-60000:客戶端程序隨機使用的端口,動態(tài)端口,或私有端口
  • http 請求方法:在 http 通信中,每個 http 請求報文都包含一個方法,用以告訴 web 服務(wù)器端需要執(zhí)行哪些具體的動作,這些動作包括:獲取指定 web 頁面、提交內(nèi)容到服務(wù)器、刪除服務(wù)器上資源文件等。
  • 狀態(tài)代碼:由三位數(shù)字組成,第一個數(shù)字定義了響應(yīng)的類別,且有五種可能取值。
    • 1xx:指示信息 —— 表示請求已接收,繼續(xù)處理
    • 2xx:成功 —— 表示請求已被成功接收、理解、接受
    • 3xx:重定向 —— 要完成請求必須進行更進一步的操作
    • 4xx:客戶端錯誤 —— 請求有語法錯誤或請求無法實現(xiàn)
    • 5xx:服務(wù)器端錯誤 —— 服務(wù)器未能實現(xiàn)合法的請求
    • 常見狀態(tài)代碼、狀態(tài)描述的說明如下:
    • 200 OK:客戶端請求成功
    • 400 Bad Request:客戶端請求有語法錯誤,不能被服務(wù)器所理解
    • 401 Unauthorized:請求未經(jīng)授權(quán),這個狀態(tài)代碼必須和WWW-Authenticate 報頭域一起使用
    • 403 Forbidden:服務(wù)器收到請求,但是拒絕提供服務(wù)
    • 404 Not Found:請求資源不存在,舉個例子:輸入了錯誤的URL
    • 500 Internal Server Error:服務(wù)器發(fā)生不可預(yù)期的錯誤
    • 503 Server Unavailable:服務(wù)器當(dāng)前不能處理客戶端的請求,一段時間后可能恢復(fù)正常
  • HTTP 報文:http 報文中有很多行內(nèi)容,這些行的字段內(nèi)容都是由一些 ASCII碼串組成,但各個字段的長度是不同的。http 報文可分為兩種,一種是從web 客戶端發(fā)往 web 服務(wù)器的 http 報文,稱為請求報文。另外一種是從 web服務(wù)器發(fā)往 web 客戶端的報文,稱為響應(yīng)報文

HTTP 協(xié)議請求的工作流程

(1)終端客戶在 web 瀏覽器地址欄輸入訪問地址http://www.ceshi.com:80/index.html

(2)web 瀏覽器請求 DNS 服務(wù)器把域名 www.ceshi.com 解析成 web 服務(wù)器的 IP地址

(3)web 瀏覽器將端口號(默認是 80)從訪問地址(URL)中解析出來

(4)web 瀏覽器通過解析后的 ip 地址及端口號與 web 服務(wù)器之間建立一條 TCP連接

(5)建立 TCP 連接后,web 瀏覽器向 web 服務(wù)器發(fā)送一條 HTTP 請求報文

(6)web 服務(wù)器響應(yīng)并讀取瀏覽器的請求信息,然后返回一條 HTTP 響應(yīng)報文。

(7)web 服務(wù)器關(guān)閉 HTTP 連接,關(guān)閉 TCP 連接,web 瀏覽器顯示訪問的網(wǎng)站內(nèi)容到屏幕上。

www 服務(wù)器的基本配置

使用yum命令查找httpd服務(wù)yum search httpd

下載安裝httpd服務(wù)yum install httpd.x86_64 -y

啟動httpd服務(wù),并查看httpd服務(wù)狀態(tài)情況

systemctl start httpd
systemctl status httpd

在我們的物理機上做訪問WEB網(wǎng)頁的實驗 首先要保證物理機與虛擬機在同一個網(wǎng)段,而且能夠ping通

之后開啟防火墻的80端口

[root@localhost redhat]# firewall-cmd --permanent --add-port=80/tcp
success
[root@localhost redhat]# firewall-cmd --permanent --add-service=http
success
[root@localhost redhat]# firewall-cmd --reload
success
[root@localhost redhat]# 

此時已經(jīng)可以在物理機的瀏覽器輸入虛擬機IP地址查看到HTTP的首頁
如果發(fā)現(xiàn)超時那就是因為防火墻的問題,檢查一下自己的虛擬機防火墻端口和服務(wù)都開放了么
如果都開放了還提示:HTTP/1.1 Forbidden被拒絕,意思是權(quán)限不夠,可以關(guān)閉物理機的防火墻試試

下面就可以開始編輯配置文件來搭建個人網(wǎng)頁了

[root@x1 redhat]# cd /etc/httpd/conf
[root@x1 conf]# ls
httpd.conf  httpd.conf.bak  magic
[root@x1 conf]# vim httpd.conf

補充:命令模式下:set nu可以顯示文件行數(shù)
配置所有的訪問請求都授權(quán)了

在httpd.conf這個配置文件中配置瀏覽器訪問的網(wǎng)頁根目錄:可以自定義更改

開放訪問/var/www目錄的權(quán)限

Options Indexes FollowSymLinks語句:如果該虛擬目錄下沒有 index.html,瀏覽器會顯示該虛擬目錄的目錄結(jié)構(gòu),列出該虛擬目錄下的文件和子目錄。

AllowOverride None: 完全忽略.htaccess 文件(超文本文件)

設(shè)置瀏覽器默認訪問的網(wǎng)頁為index.html

創(chuàng)建一個簡單的測試網(wǎng)頁

[root@x2 ~]# cd /etc/httpd/conf
[root@x2 conf]# ls
httpd.conf  magic
[root@x2 conf]# vim httpd.conf 
[root@x2 conf]# cd /var/www/html
[root@x2 html]# mkdir stu
[root@x2 html]# cd stu/
[root@x2 stu]# echo "this student score web">index.html
[root@x2 stu]# cat index.html 
this student score web

實驗

實驗一

搭建一個 web 服務(wù)器,訪問該服務(wù)器時顯示“hello world”歡迎界面。

[root@x2 ~]# echo hello world > /var/www/html/index.html
[root@x2 ~]# curl 192.168.80.130
hello world

實驗二、基于多個虛擬主機IP、基于多個虛擬端口、基于個人Web站點的Web網(wǎng)站

1.搭建基于IP地址的虛擬主機

[root@localhost redhat]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls 
ifcfg-ens160
[root@localhost network-scripts]# vim ifcfg-ens160

在文件中的IP地址字段下面添加兩個IP地址

重啟網(wǎng)絡(luò)服務(wù),查看虛擬機的IP地址,發(fā)現(xiàn)確實多了兩個IP地址

[root@localhost network-scripts]# ifup ens160
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
[root@localhost network-scripts]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:6b:46:66 brd ff:ff:ff:ff:ff:ff
    inet 192.168.80.129/24 brd 192.168.80.255 scope global dynamic noprefixroute ens160
       valid_lft 1796sec preferred_lft 1796sec
    inet 192.168.80.100/24 brd 192.168.80.255 scope global secondary noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet 192.168.80.200/24 brd 192.168.80.255 scope global secondary noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe6b:4666/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

嘗試用物理機ping虛擬機新加的地址

配置虛擬主機IP地址的網(wǎng)頁訪問主目錄和網(wǎng)頁index.html文件

[root@localhost network-scripts]# cd /var/www/
[root@localhost www]# mkdir 100 200
[root@localhost www]# echo 192.168.80.100 test website > 100/index.html 
[root@localhost www]# echo 192.168.80.200 test website > 200/index.html 

配置虛擬主機ip地址的httpd配置文件
回到配置文件的目錄下面,創(chuàng)建一個vhost目錄,里面專門存放虛擬IP地址的配置文件,然后在httpd服務(wù)的主配置文件中引用這個目錄

[root@localhost 100]# cd /var/www/200/
[root@localhost 200]# vim index.html 
[root@localhost 200]# cd /etc/httpd/conf
[root@localhost conf]# cd ..
[root@localhost httpd]# ls
conf  conf.d  conf.modules.d  logs  modules  run  state
[root@localhost httpd]# mkdir vhost
[root@localhost httpd]# cd vhost/
[root@localhost vhost]#  touch 100.conf 200.conf
[root@localhost vhost]# ls
100.conf  200.conf

配置虛擬主機IP的配置文件

[root@localhost vhost]# vi 100.conf 
[root@localhost vhost]# cat 100.conf 
<VirtualHost 192.168.80.100>
	DocumentRoot "/var/www/100"
	DirectoryIndex index.html
	<Directory "/var/www/100">
		Options Indexes FollowSymLinks
		AllowOverride None
		Require all granted
	</Directory>
</VirtualHost>
[root@localhost vhost]# vi 200.conf 
[root@localhost vhost]# cat 200.conf 
<VirtualHost 192.168.80.200>
	DocumentRoot "/var/www/200"
	DirectoryIndex index.html
	<Directory "/var/www/200">
		Options Indexes FollowSymLinks
		AllowOverride None
		Require all granted
	</Directory>
</VirtualHost>
[root@localhost vhost]# 

配置/etc/httpd/conf/httpd.conf主配置文件引用vhost目錄里的虛擬主機IP的.conf配置文件
補充:快捷鍵Shift+g可以直接到達文件最后一行
在主配置文件的末尾加上

重啟httpd服務(wù),在物理機瀏覽器查看虛擬主機IP的網(wǎng)頁配置

[root@localhost vhost]# systemctl restart httpd

2.搭建基于端口號的虛擬主機

首先創(chuàng)建網(wǎng)頁文件html

[root@localhost redhat]# cd /var/www/
[root@localhost www]# mkdir 8081 8082
[root@localhost www]# ls
100  200  8081  8082  cgi-bin  html
[root@localhost www]# echo 8081 port test web > 8081/index.html
[root@localhost www]# echo 8082 port test web > 8082/index.html

然后在vhost目錄下配置這兩個虛擬端口的配置文件

[root@localhost www]# cd /etc/httpd/
[root@localhost httpd]# 
[root@localhost httpd]# cd vhost/
[root@localhost vhost]# cp 100.conf 8081.conf
[root@localhost vhost]# cp 100.conf 8082.conf
[root@localhost vhost]# ls
100.conf  200.conf  8081.conf  8082.conf
[root@localhost vhost]# vi 8081.conf
[root@localhost vhost]# vi 8082.conf
[root@localhost vhost]# cat 8081.conf
<VirtualHost 192.168.80.129:8081>
	DocumentRoot "/var/www/8081"
	DirectoryIndex index.html
	<Directory "/var/www/8081">
		Options Indexes FollowSymLinks
		AllowOverride None
		Require all granted
	</Directory>
</VirtualHost>
[root@localhost vhost]# cat 8082.conf
<VirtualHost 192.168.80.129:8082>
	DocumentRoot "/var/www/8082"
	DirectoryIndex index.html
	<Directory "/var/www/8082">
		Options Indexes FollowSymLinks
		AllowOverride None
		Require all granted
	</Directory>
</VirtualHost>

配置/etc/httpd/conf/httpd.conf主配置文件引用vhost目錄里的虛擬主機IP的.conf配置文件,上面已經(jīng)寫了這一步了,然后還要配置端口號

[root@localhost vhost]# vi ../conf/httpd.conf

在監(jiān)聽端口低下添加監(jiān)聽8081與8082端口

配置完成保存退出,防火墻運行端口8081和8082通過,重啟httpd服務(wù),測試虛擬端口是否可用

[root@localhost vhost]# firewall-cmd --permanent  --add-port=8081/tcp
success
[root@localhost vhost]# firewall-cmd --permanent  --add-port=8082/tcp
success
[root@localhost vhost]# firewall-cmd --reload 
success
[root@localhost vhost]# setenforce 0
[root@localhost vhost]# getenforce 
Permissive
[root@localhost vhost]# systemctl restart httpd

3.個人Web站點的發(fā)布

[root@localhost vhost]# cd /etc/httpd/conf.d
[root@localhost conf.d]# ls
autoindex.conf  README  userdir.conf  welcome.conf
[root@localhost conf.d]#  cp userdir.conf  userdir.conf.bak
[root@localhost conf.d]# vi userdir.conf

進入文件目錄中修改一些配置

配置完成,重啟httpd服務(wù)

[root@localhost conf.d]# systemctl restart httpd

使用用戶user1訪問個人網(wǎng)站
新增用戶user1,并設(shè)置密碼

[root@localhost conf.d]# useradd user1
[root@localhost conf.d]# passwd user1
Changing password for user user1.
New password: 
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password: 
passwd: all authentication tokens updated successfully.

創(chuàng)建個人站點網(wǎng)頁文件

[root@localhost conf.d]# su - user1
[user1@localhost ~]$ cd ..
[user1@localhost home]$ chmod -Rf 711 user1
[user1@localhost home]$  mkdir -p user1/public_html/
[user1@localhost home]$ echo user1 test website > user1/public_html/index.html

測試:

到此這篇關(guān)于如何使用Linux搭建web服務(wù)器的文章就介紹到這了,更多相關(guān)Linux搭建web服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

城口县| 交城县| 深圳市| 乾安县| 同心县| 红河县| 镇原县| 梓潼县| 岚皋县| 邯郸县| 双辽市| 两当县| 绥芬河市| 太仓市| 霞浦县| 鹰潭市| 吉木乃县| 竹北市| 金秀| 澳门| 永定县| 温州市| 安西县| 积石山| 大埔区| 淮北市| 柘城县| 孝感市| 二连浩特市| 临邑县| 婺源县| 德保县| 交城县| 泽普县| 察雅县| 新沂市| 达州市| 澄迈县| 滨海县| 阳原县| 娄烦县|