百晓生详解nginx(下)nginx在实际生产环境中的应用(该帖连载更新)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百晓生详解nginx(下)nginx在实际生产环境中的应用(该帖连载更新)相关的知识,希望对你有一定的参考价值。

案例一:nginx+Tomcat负载均衡集群的部署
技术分享图片
案例概述:京北点指科技有限公司发布V3版移联建站管理系统,该项目为JAVA语言开发web站点。
实验环境:站点服务器(tomcat1)centos6.5-1: IP:192.168.252.129
站点服务器(tomcat2)centos6.5-2: IP:192.168.252.130
代理服务器(nginx)centos6.5-3:IP:192.168.252.131
客户端:WIN7
关闭防火墙,全网互联互通状态
1.Tomcat作为应用服务器的配置
1) 配置JAVA环境
cd /opt/tomcat/
tar zxvf jdk-8u91-linux-x64.tar.gz -C /opt //安装JDK
cd /opt
mv jdk1.8.0_91/ /usr/local/java
cd /etc/profile.d/
vim java.sh //在环境变量文件夹下添加并编辑java.sh脚本
export JAVA_HOME=/usr/local/java //设置Java根目录//
export PATH=$PATH:$JAVA_HOME/bin //在PATH环境变量中添加Java根目录下的bin/子目录
技术分享图片

source java.sh //java.sh脚本导入到环境变量,使其生效//
java -version //查看版本//
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
2)安装配置Tomcat
cd /opt/tomcat
tar zxvf apache-tomcat-8.5.16.tar.gz -C /opt/
mv /opt/apache-tomcat-8.5.16/ /usr/local/tomcat8
cd /usr/local/tomcat8/bin/
./startup.sh //启动tomcat//
netstat -ntap | grep 8080 //监听8080端口,tomcat是否开启//
技术分享图片
3)加入测试页面
mkdir -pv /web/webapp1 //创建web目录//
vim /web/webapp1/index.jsp
将以下内容写进文件
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title>
</head>
<body>
<% out.println("Welcome to test site,http://www.test1.com");%>;
</body>
</html>
技术分享图片
vim /usr/local/tomcat8/conf/server.xml 编辑Tomat的主配置文件
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
以下为添加内容
<Context docBase="/web/webapp1" path="" reloadable="false">
</Context>
技术分享图片
//注解:docBase:web应用的文档基准目录
reloadable 设置监视“类”是否变化
path=""设置默认“类
同样方式再配置一台Tomcat应用服务器
2.配置Nginx反向代理服务器
1) 搭建Nginx编译环境
yum install pcre-devel zlib-devel openssl-devel gcc gcc-c++ -y
useradd -s /bin/false www //创建一个名为www的账号,用于运行nginx
2)编译安装nginx
cd /opt/tomcat
tar zxvf nginx-1.12.0.tar.gz -C /opt
cd /opt/nginx-1.12.0/
./configure
--prefix=/usr/local/nginx
--user=www
--group=www
--with-file-aio
--with-http_stub_status_module
--with-http_gzip_static_module
--with-http_flv_module
--with-http_ssl_module
make&&make install

注释如下
./configure
--prefix=/usr/local/nginx nginx所在位置
--user=www 指定运行的用户
--group=www 指定运行的组
--with-file-aio 启用文件修改支持
--with-http_stub_status_module 启用状态统计
--with-http_gzip_static_module 启用gzip静态压缩
--with-http_flv_module 启用flv模块,提供寻求内存使用基于时间的偏移量文件
--with-http_ssl_module 启用SSL模块

vim /usr/local/nginx/conf/nginx.conf
#keepalive_timeout 0;
keepalive_timeout 65;

#gzip  on;

upstream tomcat_server {                             #添加
          server 192.168.100.101:8080 weight=1;
          server 192.168.100.102:8080 weight=1;    
        }

server {
    listen       80;

.....省略
location / {
root html;
index index.html index.htm;
proxy_pass http://tomcat_server; #添加
}
技术分享图片
利用以上方式,把nginx的默认站点通过proxy_pass方法代理到了设定好的tomcat_server负载均衡服务器上。
cd /usr/local/nginx/sbin
./ nginx -t //检测是否成功//
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ //创建软链接便于管理
nginx //启用nginx服务//
netstat -ntap | grep nginx //查看nginx服务是否启动
技术分享图片
显示的是加载在后端tomcat站点服务器测试网页

以上是关于百晓生详解nginx(下)nginx在实际生产环境中的应用(该帖连载更新)的主要内容,如果未能解决你的问题,请参考以下文章

百晓生带你玩转linux系统服务搭建系列----SSH远程访问及控制

百晓生带你玩转linux系统服务搭建系列----构建虚拟ApacheWeb主机

百晓生带你玩转linux系统服务搭建系列----DNS服务的搭建一(正向解析)

百晓生教你露一手系列----怎样利用WINDOW漏洞设置后门

百晓生带你玩转linux系统服务搭建系列----pxe远程安装服务器的搭建及无人值守安装

SQL江湖百晓生:入门级必杀器—外连接join