1蚂维、Nginx 配置實(shí)例1:反向代理
1.1背捌、實(shí)現(xiàn)效果
(1)毙籽、打開瀏覽器,地址欄輸入 www.123.com毡庆,跳轉(zhuǎn)到 Linux 系統(tǒng) tomcat 主頁面中坑赡。
1.2巡扇、準(zhǔn)備工作
1.2.1、在 Linux 系統(tǒng)安裝 tomcat垮衷,使用默認(rèn)端口 8080
(1)、將下載的 jdk 上傳到 /usr/local 下乖坠,然后解壓
tar -zxvf jdk-8u212-linux-x64.tar.gz
解壓完成后我們會看到 /usr/local 目錄下有一個 jdk 1.8.0_212 的目錄
(2)搀突、配置環(huán)境變量
vim /etc/profile
在文件末尾添加如下內(nèi)容:
# jdk環(huán)境變量配置
JAVA_HOME=/usr/jdk/jdk1.8.0_212
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH
注:export JAVA_HOME 后接 jdk1.8 的安裝路徑。
(3)熊泵、使環(huán)境變量生效
source /etc/profile
(4)仰迁、驗(yàn)證jdk1.8是否安裝成功
java -version
如下所示,表示jdk1.8安裝成功:
[root@localhost local]# java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
(5)顽分、啟動 tomcat 徐许,進(jìn)入 tomcat 解壓 目錄下的 */bin/ (/root/usr/ll/apache-tomcat-9.0.20/bin/)目錄下,輸入如下命令啟動:
./startup.sh
進(jìn)入日志文件目錄下*/log/ (/root/usr/ll/apache-tomcat-9.0.20/log/)查看啟動日志情況卒蘸,輸入如下命令:
tail -f catalina.out
在主機(jī)瀏覽器輸入IP和端口號查看雌隅,是否可訪問。
1.2.2缸沃、在 Linux 系統(tǒng)安裝 tomcat恰起,使用默認(rèn)端口 8080
(1)、linux 安裝了tomcat 啟動后無法訪問解決辦法
①趾牧、首先查下看 Linux是否開放了端口
netstat -ntpl
netstat -nupl (UDP類型的端口)
netstat -ntpl (TCP類型的端口)
a 表示所有
n 表示不查詢dns
t 表示tcp協(xié)議
u 表示udp協(xié)議
p 表示查詢占用的程序
l 表示查詢正在監(jiān)聽的程序
若出現(xiàn):-bash: netstat: 未找到命令检盼,則先安裝 net-tools
yum -y install net-tools
②、輸入命令查看:
[root@localhost logs]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 12143/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6133/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6460/master
tcp6 0 0 :::8009 :::* LISTEN 15992/java
tcp6 0 0 :::8080 :::* LISTEN 15992/java
tcp6 0 0 :::22 :::* LISTEN 6133/sshd
tcp6 0 0 ::1:25 :::* LISTEN 6460/master
tcp6 0 0 127.0.0.1:8005
(2)翘单、端口號是不是防火墻被攔截了
??防火墻負(fù)責(zé)端口是否對外開放吨枉,如果在配置中設(shè)置了不攔截我們就可以通過該端口訪問服務(wù)器;如果不設(shè)置該端口對外開放哄芜,我們就不能通過該端口訪問服務(wù)器
①貌亭、檢查防火墻是否在運(yùn)行地的狀態(tài)
systemctl status firewalld
[root@localhost bin]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 日 2019-10-06 09:20:12 CST; 5h 54min ago
Docs: man:firewalld(1)
Main PID: 5600 (firewalld)
CGroup: /system.slice/firewalld.service
└─5600 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
上面標(biāo)識防火墻正在運(yùn)行。
如果沒有開啟防火墻:
開啟防火墻:
systemctl start firewalld
設(shè)置防火墻開機(jī)啟動:
systemctl enable firewalld
(3)忠烛、端口開放設(shè)置
1)属提、查看放火墻對外開放的端口:
firewall-cmd --zone=public --list-ports
[root@localhost bin]# firewall-cmd --zone=public --list-ports
80/tcp
上面便是對防火墻開放端口列表。
2)美尸、開啟需要使用的端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
其中--permanent 的作用是使設(shè)置永久生效冤议,不加的話機(jī)器重啟之后失效
3)、重新載入一下防火墻設(shè)置师坎,使設(shè)置生效
firewall-cmd --reload
4)恕酸、可通過如下命令查看是否生效
firewall-cmd --zone=public --query-port=8080/tcp
(4)、端口限制
#要限制的端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
#從新加載防火墻胯陋,使設(shè)置生效
firewall-cmd --reload
#再去查看系統(tǒng)所有開放的端口蕊温,限制的端口是否還存在
firewall-cmd --zone=public --list-ports
(5)袱箱、批量開放或限制端口
1)、批量開放端口义矛,如從100到500這之間的端口全部要打開
firewall-cmd --zone=public --add-port=100-500/tcp --permanent
2)发笔、批量限制端口,如從600到800這之間的端口全部限制
firewall-cmd --zone=public --remove-port=600-800/tcp --permanent
3)凉翻、重新載入防火墻設(shè)置
firewall-cmd --reload
1.3了讨、訪問過程分析
1.4、具體配置
1.4.1制轰、在windows 系統(tǒng)的 host 文件中進(jìn)行域名和 IP 對應(yīng)關(guān)系的配置
位置:C:\Windows\System32\drivers\etc\hosts
添加內(nèi)容:
192.168.92.128 www.123.com
1.4.2前计、在 nginx 中進(jìn)行請求轉(zhuǎn)發(fā)的配置(反向代理配置)
在配置文件中配置如下:
1.5、測試
2垃杖、Nginx 配置實(shí)例2:反向代理
實(shí)現(xiàn)效果:
&emps; 使用 nginx 反向代理男杈,根據(jù)訪問的路徑跳轉(zhuǎn)到不同端口的服務(wù)中,
? nginx 監(jiān)聽端口為 9001调俘,
? 訪問:http: //192.168.92.128:9001/edu/ 直接跳轉(zhuǎn)到 192.168.92.128:8080
? 訪問:http: //192.168.92.128:9001/vod/ 直接跳轉(zhuǎn)到 192.168.92.128:8081
2.1伶棒、準(zhǔn)備工作
(1)準(zhǔn)備兩個 tomcat 端口分別為 8080、8081
①脉漏、在 tomcat 解壓文件或壓縮文件所在目錄下分別創(chuàng)建 tomcat8080苞冯、tomcat8081 文件夾。
[root@localhost ll]# ls
apache-tomcat-9.0.20 apache-tomcat-9.0.20.tar.gz nginx-1.16.1 nginx-1.16.1.tar.gz tomcat8080 tomcat8081
②侧巨、將解壓的 apache-tomcat-9.0.20 分別復(fù)制一份到 tomcat8080 和 tomcat8081 中舅锄;或重新解壓到 tomcat8080 和 tomcat8081 中
cp -r apache-tomcat-9.0.20 tomcat8080
cp -r apache-tomcat-9.0.20 tomcat8081
③、修改 tomcat8081 中 tomcat 配置文件的 端口
22 <Server port="8005" shutdown="SHUTDOWN">
23 <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
24 <!-- Security listener. Documentation at /docs/config/listeners.html
25 <Listener className="org.apache.catalina.security.SecurityListener" />
68 -->
69 <Connector port="8081" protocol="HTTP/1.1"
70 connectionTimeout="20000"
71 redirectPort="8443" />
72 <!-- A "Connector" using the shared thread pool-->
73 <!--
115 <!-- Define an AJP 1.3 Connector on port 8009 -->
116 <Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />
117
118
119 <!-- An Engine represents the entry point (within Catalina) that processes
120 every request. The Engine implementation for Tomcat stand alone
(2)添加對應(yīng)的顯示
分別在tomcat8080司忱、tomcat8081中的 Tmocat 的 webapps 文件下創(chuàng)建 edu和vod文件皇忿,并在文件夾里添加 a.html 文件。內(nèi)容自己定義坦仍,可區(qū)分即可鳍烁;
2.2、nginx 反向代理配置
進(jìn)入nginx 的配置文件 nginx.conf 所在的位置繁扎,進(jìn)行配置幔荒,配置如下:
83 # another virtual host using mix of IP-, name-, and port-based configuration
84 #
85 server {
86 listen 9001;
87 # listen somename:8080;
88 server_name 192.168.92.128;
89
90 location ~ /edu/ {
91 proxy_pass http://127.0.0.1:8080;
92 # root html;
93 # index index.html index.htm;
94 }
95 location ~ /vod/ {
96 proxy_pass http://127.0.0.1:8081;
97 }
98 }
99