首页 > 代码库 > linux下使用nginx做域名映射(安装,配置)

linux下使用nginx做域名映射(安装,配置)

用tomcat做了个系统放到外网上,一大长串ip加端口号组成的url太不专业,所以用nginx来做域名映射精简一下。

安装:

第一步:从http://nginx.org上下载相应的版本nginx-1.10.1.tar.gz

    (或者wget http://nginx.org/download/nginx-1.10.1.tar.gz直接在Linux上用命令下载)

第二步:解压压缩包 tar -zxvf nginx-1.10.1.tar.gz;

第三步:进入文件夹 cd nginx-1.10.1;

    由于此tar包是源代码包,所以用 ./configure 对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,生成makefile文件;

    发现提示错误: ./configure: error: the HTTP rewrite module requires the PCRE library. ;

    找资料后发现nginx需要一些依赖库:

    rewrite 模块需要 pcre 库( 下载: http://www.pcre.org/ )
    gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ )
    ssl 功能需要 openssl 库( 下载: http://www.openssl.org/ )

    所以再去下载 pcre-8.38.tar.gz,然后解压:tar...,

    配置:./configure(可以使用--prefix=/usr/local/pcre置顶安装位置,我没有用,好像默认安装在了/usr/local/include目录),

    编译:make,  安装:make install;

    再进入 nginx-1.10.1目录下,运行./configure。果然又报错 ./configure: error: the HTTP gzip module requires the zlib library.

    再下载 zlib-1.2.8.tar.gz,解压,配置,编译,安装......

    再去 nginx-1.10.1目录下,运行./configure,好像没有报错了,可能是阿里云服务器里有openssl库?(系统是Ubuntu 14.04.4 LTS)

    (我使用 ./configure --prefix=/usr/local/nginx,所以等下去这个目录下找);

第四步:编译:make  安装:make install;

 

配置:

  nginx功能很强大,一般用来做静态资源服务器和负载均衡,不过我这小网站不用......

  进入/usr/local/nginx(./configure时设置的),进入conf目录,修改nginx.conf文件

  关于这个文件的讲解可以另起一文了,这里就简单说下

  技术分享

  server 是负责配置虚拟主机,listen表示监听的端口,server_name是访问域名,

  location是访问地址的设置,root是设置静态文件所在的目录,index设置访问的文件,有先后顺序

  因此输入 http://服务器ip 会直接访问/usr/local/nginx/html目录下的index.html

  我们要映射到tomcat端口,所以修改 location /{} 后面加一个

  location /lovelovetext {  
    proxy_pass http://localhost:8080;  
  }

  这样就可以直接用 http://服务器ip/应用名访问 网站了

后续:因为要上传文件,但是发现用了nginx之后上传失败了,F12看一下,报错:

   Failed to load resource: the server responded with a status of 413 (Request Entity Too Large)

   上传文件太大...因为nginx默认只能上传1M的文件。

   所以,修改nginx配置文件nginx.conf,找到找到 http{} 段,在里面加一行 client_max_body_size 10m;

   这样把最大改成10M,就OK了~

linux下使用nginx做域名映射(安装,配置)