日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Apache 的管理及优化web

發布時間:2024/9/3 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Apache 的管理及优化web 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一、Apache的作用

二、Apache的安裝

三、Apache的啟用

四、Apache的基本信息

五、Apache的基本配置

六、Apache的訪問控制

七、Apache的虛擬主機

八、Apache的語言支持

九、Apache的加密訪問


一、Apache的作用

在web被訪問時通常使用http://的方式
http://?? ??? ??? ?##超文本傳輸協議

http://?? ?超文本傳輸協議提供軟件:
Apache
nginx
stgw
jfe
Tengine

二、Apache的安裝

dnf install httpd.x86_64 -y

?

三、Apache的啟用

systemctl enable --now httpd?? ??? ??? ?##開啟服務并設定服務位開機啟動
firewall-cmd --list-all?? ??? ??? ?##查看火墻信息
firewall-cmd --permanent --add-service=http?? ?##在火墻中永久開啟http訪問
firewall-cmd --permanent --add-service=https?? ?##在火墻中永久開啟https訪問
firewall-cmd --reload?? ??? ??? ??? ?##刷新火墻使設定生效????????????????????

或者關閉火墻

setenforce 0????

四、Apache的基本信息

服務名稱:?? ?httpd
配置文件:
?? ??? ?/etc/httpd/conf/httpd.conf?? ?##主配置文件
?? ??? ?/etc/httpd/conf.d/*.conf?? ?##子配置文件
默認發布目錄:?? ?/var/www/html
默認發布文件:?? ?index.html

默認端口:?? ?80?? ? ? #http
?? ??? ??????????????? 443?? ?? #https
用戶:?? ??? ?apache
日志:?? ??? ?/etc/httpd/logs

五、Apache的基本配置

#1.Apache端口修改#
vim /etc/httpd/conf/httpd.conf
Listen 6666
firewall-cmd --permanent --add-port=6666/tcp
firewall-cmd --reload
semanage port -l | grep http
semanage port -a -t http_port_t -p tcp 6666
systemctl restart httpd


#2.默認發布文件##
vim /etc/httpd/conf/httpd.conf
DirectoryIndex westos.html index.html???????????????????????? 哪個文件在前哪個優先訪問

vim /var/www/html/westos.html??? Hello westos
systemctl restart httpd

#3.默認發布目錄
vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/webdir/html"
<Directory "/var/webdir/html">
??????? Require all granted
</Directory>

mkdir -p /var/webdir/html

vim /var/webdir/html/index.html??? 編輯內容HELLO
semanage fcontext -a -t httpd_sys_content_t '/webdir(/.*)?'
restorecon -RvvF /webdir/
systemctl restart httpd

驗證:firefox http://172.25.254.101

?

?

六、Apache的訪問控制

#實驗素材#
mkdir /var/www/html/westos
vim /var/www/html/westos/index.html
<h1>westosdir's page</h1>

firefox http://192.168.0.11/westos

#1.基于客戶端ip的訪問控制#
#ip白名單#
<Directory "/var/www/html">
??????? Order Deny,Allow
??????? Allow from 172.25.254.1? ????
??????? Deny from All
</Directory>

驗證


#ip黑名單#
<Directory "/var/www/html/westos">
??????? Order Allow,Deny
??????? Allow from All?? ??? ?
??????? Deny from 172.25.254.1
</Directory>

驗證

#2.基于用戶認證#
vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/westos">
??????? AuthUserfile /etc/httpd/htpasswdfile?? ??? ??? ?##指定認證文件
??????? AuthName "Please input your name and password"?? ??? ?##認證提示語

??????? AuthType basic?? ??? ??? ??? ??? ??? ?##認證類型
??????? Require user admin?? ??? ??? ??? ??? ?##允許通過的認證用戶 2選1
?? ???? Require valid-user?? ??? ??? ??? ??? ?##允許所有用戶通過認證 2選1
</Directory>


htpasswd -cm /etc/httpd/htpasswdfile admin?? ??? ??? ?##生成認證文件
注意:
當/etc/httpd/htpasswdfile存在那么在添加用戶時不要加-c參數否則會覆蓋源文件內容


?

七、Apache的虛擬主機

mkdir -p /var/www/westos.com/{news,linux}
echo "linux's page" >/var/www/westos.com/linux/index.html
echo "news's page" > /var/www/westos.com/news/index.html
echo "default's page" > /var/www/html/index.html

vim /etc/httpd/conf.d/Vhost.conf
<VirtualHost _default_:80>
?? ?DocumentRoot "/var/www/html"
?? ?CustomLog logs/default.log combined
</VirtualHost>

<VirtualHost *:80>
?? ?ServerName wenku.westos.com
?? ?DocumentRoot "/var/www/westos.com/wenku"
?? ?CustomLog logs/wenku.log combined
</VirtualHost>

<VirtualHost *:80>
?? ?ServerName news.westos.com
?? ?DocumentRoot "/var/www/westos.com/news"
?? ?CustomLog logs/news.log combined
</VirtualHost>

測試:
在瀏覽器所在主機中
vim /etc/hosts
172.25.254.101 www.westos.com wenku.westos.ocm news.westos.com

firefox http://www.westos.com
firefox http://wenku.westos.com
firefox http://news.westos.com

八、Apache的語言支持

#php#
vim /var/www/html/index.php
<?php
?? ?phpinfo();
?>

dnf install php -y
systemctl restart httpd
firefox http://172.25.254.101/index.php

#cgi#
mkdir /var/www/html/cgidir
vim /var/www/html/cgidir/index.cgi

chmod +x index.cgi?? 給執行權限
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print `date`;

vim /etc/httpd/conf.d/Vhost.conf

<Directory "/var/www/html/cgidir">
?? ?Options +ExecCGI
?? ?AddHandler cgi-script .cgi
?? ?
</Directory>

firefox http://192.168.0.11/cgidir/index.cgi


#wsgi#

vim /var/www/html/wsgidir/index.wsgi

def application(env,start_response):
??????? start_response('200 OK',[('Content-Type','text/html')])
??????? return[b"hello world"]

chmod +x index.wsgi

vim /etc/httpd/conf.d/Vhost.conf

<VirtualHost *:80>
??? serverName wsgi.westos.com
??? WSGIScriptAlias / /var/www/html/wsgidir/index.wsgi
</VirtualHost>

dnf install python3-mod_wsgi.x86_64

systemctl restart httpd

驗證:

九、Apache的加密訪問

?

##安裝加密插件
dnf install mod_ssl -y


##生成證書

openssl genrsa -out /etc/pki/tls/private/www.westos.com.key????? 2048?? ?#生成私鑰

openssl req -new -key /etc/pki/tls/private/www.westos.com.key \
-out /etc/pki/tls/certs/www.westos.com.csr?? ??? ??? ??? ?##生成證書簽名文件

openssl x509? -req -days 365 -in? \
/etc/pki/tls/certs/www.westos.com.csr \
-signkey /etc/pki/tls/private/www.westos.com.key \
-out /etc/pki/tls/certs/www.westos.com.crt?? ??? ??? ??? ?#生成證書

x509 證書格式
-req 請求
-in 加載簽證名稱
-signkey?? ?/etc/pki/tls/private/www.westos.com.key

生成證書簽名文件

生成證書

?

vim /etc/httpd/conf.d/vhost.conf
<VirtualHost *:80>
?? ?ServerName login.westos.com
?? ?RewriteEngine on
?? ?RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1
</VirtualHost>

<VirtualHost *:443>
?? ?ServerName login.westos.com
?? ?DocumentRoot "/www/westos.com/login"
?? ?CustomLog logs/login.log combined
?? ?SSLEngine on
?? ?SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
?? ?SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
</VirtualHost>

systemctl restart httpd
^(/.*)$?? ??? ?##客戶地址欄中輸入的地址
%{HTTP_HOST}?? ?##客戶主機
$1?? ??? ?##RewriteRule后面跟的第一串字符的值

驗證:

十、Squid+Apache???

#squid 正向代理#
實驗環境:
單網卡主機設定ip不能上網
雙網卡主機設定ip1可以連接單網卡主機,設定ip2可以上網

實驗效果
讓單網卡主機不能上網但瀏覽器可以訪問互聯網頁

操作:
在雙網卡主機中(172.25.254.1)
dnf install squid -y
vim /etc/squid/squid.conf
59 http_access allow all
65 cache_dir ufs /var/spool/squid 100 16 256

systemctl restart squid
firewall-cmd --permanent --add-port=3128/tcp
firewall-cmd --reload

在單網卡專輯中選擇?? (172.25.254.101)
NetWork Proxy
172.25.254.1 ?? 3128

測試:
在單網卡主機中
ping www.baidu.com?? ?不通
在瀏覽器中訪問www.baidu.com可以


#squid反向代理#

實驗環境:
172.25.254.101 ? ???? ##Apache服務器
172.25.254.1 ? ???? ##squid,沒有數據負責緩存

vim /etc/squid/squid.conf
http_port 80 vhost vport?? ??? ?##vhost 支持虛擬域名 vport 支持虛擬端口
#當172.25.254.1的80端口被訪問會從172.25.254.101的80端口緩存數據
cache_peer 172.25.254.101 parent? 80????? 0?????? proxy-only
??????????????????????????????? 80端口???????? 沒有備用代理??? 只作代理


systemctl restart squid

測試:
firefox http:/172.25.254.1
訪問看到的時172.25.254.101上的數據

?

?

?

總結

以上是生活随笔為你收集整理的Apache 的管理及优化web的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。