前些天剛過來新公司上班,公司的項目都挺多的,只不過項目都是第三方公司團隊開發的,現在本公司要組建自己的團隊,我作為一個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
全部完成了,第一次寫那么長篇大論的,寫得不好,請原諒,還有歡迎各位大神指點,要是還有小白不懂的,請留言!!!!!
願自己每天進步一點點
哈哈哈