首页 > 代码库 > 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做域名映射(安装,配置)