阿里云服务器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版本

posted @ 2017-05-20 23:33  敲代码的小松鼠  阅读(1740)  评论(0编辑  收藏  举报

你若不想做,总会找到“接口”;你若想做,总会找到“方法”。