阿里雲服務器windows server2008r2+tomcat8.0+nginx1.12


  弄了兩天的nginx,從了解開始,可能是我理解能力太差了,慚愧慚愧!但是還好看了一些大神的文章總算有點眉目了,此篇用來當作自己的筆記,大家看不懂,勿噴,但是如果有問題,直接回復,我可以給你解答一下,前提是如果我懂的話,嘻嘻。

  前提條件:服務器要能夠訪問80端口,服務器上安裝tomcat8.0並能成功運行。

  在使用中,發現重啟服務器,系統就占用了80端口,以致於nginx啟動報錯:bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions) 。

  可以通過netstat -aon | findstr :80 命令查看80端口被誰占用,如果是system占用,通過以下步驟解決:  

1、打開注冊表:regedit
 
2、找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP
 
3、找到一個REG_DWORD類型的項Start,將其改為0
 
4、重啟系統,System進程不會占用80端口

  一、安裝nginx,下載地址:http://nginx.org/ ;

    直接解壓就可以了,這里解壓到E盤根目錄:E:\nginx;

    命令行(win+r    輸入cmd)切換到該目錄下:cd E:\nginx,輸入start nginx.exe 窗口閃一下,一般就啟動成功了,去任務管理器查看一下是不是有兩個nginx的進程運 行,有就成功了。瀏覽器輸入http://localhost會出來NGINX的歡迎界面;

  二、配置動靜態分離和反向代理:

    在nginx安裝路徑下的conf文件夾下面新建幾個文件(新建了復制代碼進去就好,主要是我也不知道啥意思):

    tips:文件中的內容復制過去后要把中文注釋刪掉,不然可能出現編碼問題,實在不行就不要復制了,勤快點,手敲嘛。

    Gzip.conf:    

gzip              on;
gzip_min_length      1000;
gzip_types         text/plain text/css application/x-javascript;

    Proxy.conf(這個文件好像目前沒用到的,可以不用新建):

proxy_redirect          off;
proxy_set_header        Host $host;
proxy_set_header        X-Real-IP $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   300;
proxy_send_timeout      300;
proxy_read_timeout      300;
proxy_buffer_size       4k;
proxy_buffers           4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

gzip              on;
gzip_min_length      1000;
gzip_types         text/plain text/css application/x-javascript;

Proxy.conf

    修改nginx.conf文件:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
charset utf-8;#設置編碼
include  gzip.conf;#include表示引用文件
include  mime.types;  
upstream localhost {   
    server localhost:8080; #配置tomcat地址,即需要nginx轉向的地址 
}  
  
server {  
    listen       80; #表示監聽80端口,配合上面的tomcat地址使用,訪問80端口,就會轉向localhost:8080 
    server_name  localhost;     

    #設定訪問靜態文件直接讀取不經過tomcat
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|html)$ 
    {
        root E:\static;#靜態文件(gig|jpg|jpeg|png|bmp|swf|html)的存放地址
        expires   30d;#設置緩存為30天
    }

    location ~ .*\.(js|css)?$
    {
        root E:\static;#靜態文件(js|css)的存放地址
        expires   1h;#設置緩存為1小時
    } 
  
  location = / {#設置首頁(直接訪問服務器ip或域名就可以訪問E:\static目錄下的index.html,如果是其他名字需要其它設置,這里沒做深究,用到了再來)
    root E:\static;
   }
location
/ { proxy_connect_timeout 3; #連接超時時間 proxy_send_timeout 30; #發送超時時間 proxy_read_timeout 30; #訪問8080超時時間 proxy_pass http://localhost; #引用前面upstream的名字
    } 
  }

}

  現在可以去E盤的static文件夾下面新建一個html頁面測試是不是能夠訪問了(修改了配置文件需要重新加載配置文件或重啟nginx),如:http://ip地址/index.html

  三、常用命令(切換到nginx安裝目錄來執行):

  start nginx.exe   :啟動nginx

  nginx.exe -s stop   :停止nginx

  nginx.exe -s reload  : 配置文件修改,重新加載配置文件

  nginx -t  :查看nginx是否啟動成功

  nginx -v  :查看nginx版本


免責聲明!

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



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