Nginx 反向代理 -- 一路上的坑


 

前些天剛過來新公司上班,公司的項目都挺多的,只不過項目都是第三方公司團隊開發的,現在本公司要組建自己的團隊,我作為一個Java后台人員去接手第三方公司的全部項目,我已經是直接崩潰了(先解釋一下我崩潰的原因:項目已經全部癱瘓了,完全跑不起來的那種,而且全都是PHP的語言開發的,我對PHP真的是一個小白,可是沒辦法,既然來了,那就上吧),我只能用一個字來形容 " 亂 ", 每一個服務器都放兩三個項目,我在這只講其中的一個,也是最難搞的那個,3個項目,1個項目開發語言是PHP,另外兩個是Java的,部署環境就直接沖突了一個是PHP的集成部署,一個是Tomcat部署,3個項目都要用 80 端口,可是大家都知道 80 端口只有一個啊,我因為沒接觸過現在遇到的這種情況,我就到度娘那里查資料啊,也咨詢過兩個前輩,都是讓我做一個 Nginx 反向代理,可以解決這種情況,然后我就開始着手去搭建 Nginx ,網上各種資料各種說法都有,我都試過,實在是解決不了,整整花了我一個白天的時間,后面到了晚上,我跟我另外一個朋友說了一下情況,然后兩個人就繼續研究啊,經過了幾個小時的拼搏之后,終於實現了,我朋友的功勞比較大,因為后來是他先弄出來的,我這邊只做Windows版的,好了,廢話好像多了,進入主題

Nginx 的作用,可以做什么我就不說了,百度百科都有,自己上去查

1)下載Nginx 建議上官網下載穩定版的

  http://nginx.org/en/download.html

2)解壓出來,直接雙擊運行

3)這時候打開任務管理你會看到運行了兩個nginx.exe的任務,不要問我問什么會運行了兩個,我也還沒搞懂

4)注意事項,默認啟動,用默認的開啟方法,會占用80端口,默認會監聽80端口,請把80端口空閑,如果,在任務管理找不到nginx.exe 你就應該檢查一下80端口是否被占用,

5)用localhost在瀏覽器訪問,會看到這個頁面,證明nginx啟動成功

6)在 conf/nginx.conf 配置你的映射

7)我很多初學者看着那么亂的配置文件都會頭疼,我那時候也一樣,所以我換了一種清晰的做法,新建一個 reverse-proxy.conf 的空白文件,然后引入,看上圖,include 一個文件,這個文件專門配置映射的,放 include 的位置需要注意一下,要在 http 的下面,記住,這個文件里面,除了加入一個 include 之外,別的,就不要動了,於是,我的文件就變成下面這樣

8)編輯 reverse-proxy.conf 文件,這個,一整段,請按照一下方式配置,可配置多個,包括端口也可以配置多個

 1 server {
 2     listen 80;
 3     server_name gdweipai.com;    # 這是外網訪問進來時的連接地址
 4     location /{
 5         proxy_redirect off;
 6         proxy_set_header Host $host;
 7         proxy_set_header X-Real-IP $remote_addr;
 8         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 9         proxy_pass http://gdweipai.com:8080;    # 收到 server_name 定義的連接之后,會轉發到這個連接里面
10         #proxy_pass http://tomcat;
11     }
12     #access_log logs/tomcat1_access.log;
13 }

我配置了4個,包括Java,PHP項目的,我的配置如下

9)到這里,算是完成了,最后,把服務器重啟,nginx,重啟,然后,用你自己在server_name 定義的鏈接訪問一下,注意,必須是有效的域名,或者IP,而且不能帶端口號,意思就是說, server_name 不能定義為 localhost:8080, 或者 ,127.0.0.1:8081 之類的,只能是 localhost,或者 127.0.0.1,或者有效的域名,www.baidu.com

 全部完成了,第一次寫那么長篇大論的,寫得不好,請原諒,還有歡迎各位大神指點,要是還有小白不懂的,請留言!!!!!

願自己每天進步一點點

哈哈哈


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM