注册 X
提交 注:点击提交后系统会发送邮件到邮箱验证!(仅支持中国大陆邮箱)
我已阅读并同意 服务条款
首页 > IT技术笔记 > 查看笔记

Linux配置Nginx+Tomcat负载均衡、nginx的安装配置

附件下载:

http://nginx.org/en/download.html null

1527293-20181210193825241-631799412.png null

1527293-20181210202315710-164305067.png null

1527293-20181210203251955-2019281836.png null

1527293-20181210204039871-813309100.png null

1527293-20181210204143065-1899061903.png null

实现端口转发 null

        
        
      

一、Linux配置Nginx

一、下载Nginx

方式1:从

http://nginx.org/en/download.html 上下载稳定版,解压安装

1527293-20181210193825241-631799412.png

方式2:直接在Linux上用命令下载:

        
        
      

二、解压安装包

        
        
      

生成Makefile文件

        
        
      

编译源码

        
        
      

安装

        
        
      

2、安装相关组件

        
        
      

1527293-20181210202315710-164305067.png

*这是提示缺少c++环境 ,用 yum install gcc-c++ 安装一下,再执行 ./configure,然后又报错了:

1527293-20181210203251955-2019281836.png

        
        
      

没装伪静态模块需要pcre库 解决方法:

        
        
      

还有可能出现: 错误提示:

        
        
      

解决办法:

        
        
      

最后 ./configure

1527293-20181210204039871-813309100.png

执行make 编译:

1527293-20181210204143065-1899061903.png

生成Makefile文件

        
        
      

编译源码

        
        
      

安装

        
        
      

这里不必要太纠结,只要 /usr/local/ 下出现了 /nginx文件就ok,进入 cd /usr/local/nginx/sbin 下,启动 ./nginx

建议可以直接配置nginx环境变量,就可以直接使用nginx,不需要进入/usr/local/nginx/sbin目录,打开/etc/profile,增加Nginx的环境变量,配置如下:

        
        
      

保存后执行source /etc/profile,然后nginx -v就可以看到nginx的版本了

问题1:出现端口占用,nginx一般是80端口,要么把其他的kill掉,要么更改nginx的端口

1、kill掉其他的之前,要知道哪个占用了:用 netstat -anp | grep 80可以查看,这里是之前的lamp占用了

2、我们可以修改nginx自身的监听端口,vi /usr/local/nginx/conf/nginx.conf ,将listen 80,改为自己要的就行

实现端口转发

当我们在服务器上搭建一个图书以及一个电影的应用,其中图书应用启动了 8001 端口,电影应用启动了 8002 端口。此时如果我们可以通过

        
        
      

但我们一般访问应用的时候都是希望不加端口就访问域名,也即两个应用都通过 80 端口访问。**但我们知道服务器上的一个端口只能被一个程序使用,这时候如何该怎么办呢?一个常用的方法是用 Nginx 进行端口转发。**Nginx 的实现原理是:用 Nginx 监听 80 端口,当有 HTTP 请求到来时,将 HTTP 请求的 HOST 等信息与其配置文件进行匹配并转发给对应的应用。例如当用户访问 book.douban.com 时,Nginx 从配置文件中知道这个是图书应用的 HTTP 请求,于是将此请求转发给 8001 端口的应用处理。当用户访问 movie.douban.com 时,Nginx 从配置文件中知道这个是电影应用的 HTTP 请求,于是将此请求转发给 8002 端口的应用处理。一个简单的 Nginx 配置文件(部分)如下面所示:

        
        
      

上面这段配置实现了:

1、当用户访问的域名是:http://book.chanshuyi.com 时,我们自动将其请求转发给端口号为 8001 的 Tomcat 应用处理。

2、当用户访问的域名是:http://movie.chanshuyi.com 时,我们自动将其请求转发给端口号为 8002 的 Tomcat 应用处理。

上面的这种技术实现就是端口转发。端口转发指的是由软件统一监听某个域名上的某个端口(一般是80端口),当访问服务器的域名和端口符合要求时,就按照配置转发给指定的 Tomcat 服务器处理。我们常用的 Nginx 也有端口转发功能。


 打赏        分享



评论

邮箱: 昵称: