CentOS7 搭建 Nginx 服务器

一:Nginx 的搭建

  Nginx 在服务器的应用主要是用于实现反向代理,负载均衡的功能。 这里简单的搭建 Nginx 服务器实现 nginx 对于两个 tomcat 的反向代理的功能。

  在安装 Nginx 之前, 需要安装四个依赖,

安装nginx的依赖:
gcc
  安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:
  yum install gcc-c++
  yum install -y gcc

PCRE
  PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
  yum install -y pcre pcre-devel
  注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。

zlib
  zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
  yum install -y zlib zlib-devel

openssl
  OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
  nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
  yum install -y openssl openssl-devel

  用 FTP 服务器上传 Nginx 的安装包, 解压

  tar -zxvf nginx-1.8.0.tar.gz

  然后进入解压目录, 执行编译并安装的操作: 

  ./configure
  make
  make install

  

  安装完成, 启动 nginx ,

   在/usr/local/nginx 目录下
  ./sbin/nginx

  关闭 nginx , 在/usr/local/nginx 目录下
  ./sbin/nginx -s stop

  

  Linux 下常用的查看端口的命令:

  netstat -tulnp | grep 80      // t: tcp   u: udp  l:监听的线程  n: 不转换数字  p: 线程的名称

  

  最后访问 http://localhost

安装 nginx 的过程中, 把没有遇到什么困难, 只是安装并启动 nginx, 在访问网站出现下图就算成功了, 后面的后面再进行配置。

  

二 : Tomcat 的安装

  用 Nginx 实现 Tomcat 的反向代理, 搭建两个 Tomcat 来模拟效果

  先用 FTP 服务器上传 Tomcat 的安装包, 并解压 (解压到了 /usr/local 下)

  

  在解压的文件夹里 bin 目录下 打开catalina.sh文件,加入  (都设置为自己解压和安装的目录)
  ---在 # OS specific support 一行下加入

1   JAVA_OPTS="-Xms512m -Xmx1024m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=1024m"
2   export TOMCAT_HOME=/usr/local/apache-tomcat-7.0.77
3   export CATALINA_HOME=/usr/local/apache-tomcat-7.0.77
4   export JRE_HOME=/usr/local/jdk1.8.0_111/jre
5   export JAVA_HOME=/usr/local/jdk1.8.0_111

  启动, 进入 bin 目录
  ./startup.sh

  在这里有一点很重要, 当 Tomcat 开启之后访问不了的时候, 不要自己在那怵着猜错在哪里, 用

1 tail -100 /usr/local/apache-tomcat-7.0.77/logs/catalina.out

  查看最近一次启动 Tomcat 时发生什么情况, 然后根据错误一个一个再解决。

  每次启动 Tomcat , 都要到 Tomcat 安装目录下执行一个命令的感觉是很不好的, 所以推荐一个把 Tomcat 设置成系统服务的方式,每次想启动时, 不管你当前目录在哪, 都可以随时开启或关闭 Tomcat

  参考:http://newthink.blog.51cto.com/872263/1775489

  tomcat 安装目录为 /usr/local/apache-tomcat-7.0.77

  增加 tomcat.pid
  在tomcat安装目录下 vi 一个 tomcat.pid 文件, 在 bin 目录下新建 setenv.sh 文件,并加入

1 #add tomcat pid
2 CATALINA_PID="/usr/local/apache-tomcat-7.0.77/tomcat.pid"
3 #add java opts
4 JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"

  增加 tomcat.service 

  在 /usr/lib/systemd/system目录下增加tomcat.service, 加入以下内容

 1 [Unit]
 2 Description=Tomcat
 3 After=syslog.target network.target remote-fs.target nss-lookup.target   [Service]
 4 Type=forking
 5 PIDFile=/usr/local/apache-tomcat-7.0.77/tomcat.pid       // 这来需要设置为自己安装的目录
 6 ExecStart=/usr/local/apache-tomcat-7.0.77/bin/startup.sh
 7 ExecReload=/bin/kill -s HUP $MAINPID
 8 ExecStop=/bin/kill -s QUIT $MAINPID
 9 PrivateTmp=true   [Install]
10 WantedBy=multi-user.target 

  和 Tomcat 有关的一些操作:

  配置开机启动
  systemctl enable tomcat
  启动tomcat
  systemctl start tomcat
  停止tomcat
  systemctl stop tomcat
  重启tomcat
  systemctl restart tomcat

 三:Nginx 配置反向代理

最后, Nginx 和 Tomcat 都搭建完成之后, 简单的配置 Nginx ,使其代理两个 Tomcat:

  nginx 的反向代理:
  在 nginx 安装目录下 /usr/local/nginx/conf/nginx.conf 中加入代理的 tomcat 的服务

  在第一个 server 的上面加上代理的配置

1 #configure proxy server
2 upstream blank{
3   #ip_hash
4   server 192.168.191.1:8080;
5   server 192.168.191.3:8080;
6 }

然后在 server 中, 配置 nginx 所在的服务器

 1 server{
 2 listen    80;
 3 #server_name    localhost;
 4 server_name 192.168.191.3
 5
 6 location / {
 7 proxy_pass http://blank; // (这里要和上面配置的 upstream 的名字一样)
 8 root html;
 9 index index.html index.htm;
10 proxy_set_header Host &host;
11 }
12
13 }

  最简单的配置大概就是这样, 注意 每行后面的 ; 缺少的话在开启你 nginx 的时候会显示出错误, 照着行号 vi 进去配置爱文件改就行

  开启 nginx :
  在 nginx 安装目录下 执行
  ./sbin/nginx

  访问 http://192.168.191.3:80

  配置成功会出现不同的 tomcat 服务器的 sessionId

  最终的效果图:

  以上就是简单的配置 Nginx + Tomcat 反向代理的功能, 在 Linux 下搭建的时候花了不少的时间,总结起来的时候, 发现挺简单的事, 但是还是花费了好多时间,与君共勉吧!

时间: 2024-11-02 11:02:56

CentOS7 搭建 Nginx 服务器的相关文章

在阿里云服务器(ECS)上从零开始搭建nginx服务器

本文介绍了如何在阿里云服务器上从零开始搭建nginx服务器.阿里云服务器(ECS)相信大家都不陌生,感兴趣的同学可以到http://www.aliyun.com/product/ecs去购买,或到体验馆去体验(半个月有效期).至于如何注册.管理ECS这里就不详细介绍了.因为官方文档已经写的很清楚了.如果还不清楚,打咨询电话询问. 现在假设你已经拥有了阿里云服务器,ip是139.128.33.11(假的,读者需要换成自己的ip地址).并且没有选择任何安装包.现在ECS是完全空的,除了必须的Linu

Linux:Ubuntu_14.04.2 搭建nginx服务器

Ubuntu_14.04.2 搭建nginx服务器 系统环境:Ubuntu_14.04.2_i386(32位) 一.安装C++编译器 直接在ubuntu下安装g++即可 <span style="font-size:14px;">apt-get install g++ </span> 二.下载安装文件 1.下载以下4个文件(可以下最新版,去百度你就找到了)并解压(解压位置随意) nginx-1.8.0.tar.gz pcre-8.32.tar.gz zlib-1

Centos7搭建nginx+tomcat负载均衡

Nginx简介 Nginx是一种服务器软件,也是一种高性能的http和反向代理服务器,同时还是一个代理邮件服务器.也就是说,我们在Nginx上可以发布网站,可以实现负载均衡(提高应答效率,避免服务器崩溃),还可以作为邮件服务器实现收发邮件等功能.而最常见的就是使用Nginx实现负载均衡. Nginx与其他服务器的性能比较 Tomcat服务器面向Java语言,是重量级的服务器,而Nginx是轻量级的服务器.Apache服务器稳定.开源.跨平台,但是Apache服务器不支持高并发,Nginx能支持处

搭建Nginx服务器及其配置文件详解

博文大纲: 一.Nginx介绍 二.搭建Nginx服务器 三.Nginx服务的版本升级至1.2 四.修改Nginx服务头部信息 五.nginx主配置文件中 location选项的详解 六.配置https访问Nginx 一.Nginx介绍 Nginx专为性能优化而开发,其最大的优点就是它的稳定性和低系统资源消耗,以及对http并发连接的高处理能力,单台物理服务器可支持20000~50000个并发请求,正是如此,大量提供社交网络.新闻资讯.电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供web

本地搭建Nginx服务器启动web项目

本地搭建Nginx服务器启动web项目 前言 安装widnow.s版本的nginx,首先下载nginx最新的版本,9.19的版本是( nginx/Windows-1.15.3)nginx/Windows-1.15.3 下载之后,解压到一个目录下面切换到nginx-1.15.3目录下,然后运行nginx.exe(双击) 也可以使用命令行工具 修改端口 nginx默认的端口是80端口,修改端口可在conf\nginx.conf 中修改 #keepalive_timeout 0; keepalive_

搭建Nginx服务器及深度优化(1)

博文大纲: 一.Nginx介绍二.搭建Nginx服务器三.Nginx服务的版本升级至1.2四.修改Nginx服务头部信息五.nginx主配置文件中 location选项的详解六.配置https访问Nginx七.开启Nginx访问认证 一.Nginx介绍 Nginx专为性能优化而开发,其最大的优点就是它的稳定性和低系统资源消耗,以及对http并发连接的高处理能力,单台物理服务器可支持20000~50000个并发请求,正是如此,大量提供社交网络.新闻资讯.电子商务及虚拟主机等服务的企业纷纷选择Ngi

centos7 搭建ftp服务器

本文采用最新的centos7 来学习搭建linux各种服务器,今天分享的是搭建ftp服务器(ps:不建议使用最新的系统去学习,因为系统发生了改变,好多以前的搭建服务器的方法就不行了,比如说centos7将防火墙由iptables换为了firewall,再按照原来的教程去搭建就会遇到很多问题.....,当然如果只是想用服务器大可在安装的时候勾选相应的选项系统会自动安装好相关的服务)由于本人运气比较差,所以在安装的过程遇到了各种奇葩的问题,并且本人还是一个刚入门的小菜鸟,因此花了足足3天才算把ftp

搭建nginx服务器和直播流媒体服务器

1.nginx简单说明 ①  Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强. ②  Nginx作为Http服务器,有以下几项基本特征: b.1 处理静态文件,索引文件以及自动索引,打开文件描述符缓冲. b.2 无缓存的反向代理加速,简单的负载均衡和容错 b.3 模块化的结构,包括gzipping,byte ranges,chunked responses以及SSI-filte

centos7 搭建svn服务器

当今用于版本控制的软件程序主要的有svn和git,其它软件咱不熟悉,今天记录下搭建svn服务器和svn客户端使用: 使用环境:虚拟机为centos7系统,svn服务器安装在centos7系统平台上,svn客户端分别在windows7和centos7系统上使用: 1.安装svn服务器: ]# yum install subversion 2.配置svn服务器:建立svn版本库根目录及相关目录即svndata及密码权限命令svnpasswd: ]# mkdir -p /application/{sv