centos下安装并简单使用Nginx

centos下安装并简单使用Nginx

一、nginx安装

链接:https://pan.baidu.com/s/1gx6oTj59aTuKofOWze6rtg
提取码:1234

#下载unzip命令
yum -y install unzip
#解压
unzip nginx.zip
#安装并升级目录下的所有rpm包
cd nginx/gcc
rpm -Uvh *.rpm --nodeps --force
cd ../gcc-c++
rpm -Uvh *.rpm --nodeps --force
#配置、编译、安装
cd ..
tar -zxvf libtool-2.4.2.tar.gz nginx-1.13.9.tar.gz pcre-8.35.tar.gz
cd libtool-2.4.2
./configure;make;make install
cd ../pcre-8.35
./configure;make;make install
cd ../nginx-1.13.9
#添加stream模块
./configure --with-stream
make
make install

二、http模块:配合tomcat

在这里插入图片描述

1.配置nginx

cd /usr/local/nginx/sbin
vim ../conf/nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream myserver { #加权轮询
        server 123.57.44.56:8081 weight=1;
        server 123.57.44.56:8082 weight=2;
    }
    server {
        listen       80; #监听本机80端口
        server_name  localhost;
        location / {
            root   html;
            index index.html index.htm;
            proxy_pass http://myserver;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
./nginx -r reload

2.配置tomcat

前提:已成功安装JDK、已下载tomcat。
配置单机多实例Tomcat。
tomcat(原目录)作为安装目录存放同一份bin、lib、···。
tomcat01|02(新目录)代表不同实例作为工作目录,存放各自的conf、logs、webapps、temp、work(直接拷贝来自于tomcat中的对应内容)。
tomcat_shell完成start.sh和stop.sh脚本,实现服务的开启和关闭。
/usr/local
├── tomcat
│ ├── bin
│ ├── BUILDING.txt
│ ├── CONTRIBUTING.md
│ ├── lib
│ ├── LICENSE
│ ├── NOTICE
│ ├── README.md
│ ├── RELEASE-NOTES
│ └── RUNNING.txt
├── tomcat01
│ ├── conf
│ ├── logs
│ ├── temp
│ ├── webapps
│ └── work
├── tomcat02
│ ├── conf
│ ├── logs
│ ├── temp
│ ├── webapps
│ └── work
├── tomcat_shell
│ ├── start.sh
│ └── stop.sh
/usr/local/tomcat01/conf
├── Catalina
├── catalina.policy
├── catalina.properties
├── context.xml
├── jaspic-providers.xml
├── jaspic-providers.xsd
├── logging.properties
├── server.xml
├── tomcat-users.xml
├── tomcat-users.xsd
└── web.xml

start.sh

#!/bin/bash
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=${1%/}
echo $CATALINA_BASE
TOMCAT_ID=`ps aux |grep "java"|grep "Dcatalina.base=$CATALINA_BASE "|grep -v "grep"|awk '{ print $2}'`
if [ -n "$TOMCAT_ID" ] ; then
echo "tomcat(${TOMCAT_ITOMCAT_ID}) still running now , please shutdown it firest";
    exit 2;
fi
TOMCAT_START_LOG=`$CATALINA_HOME/bin/startup.sh`
if [ "$?" = "0" ]; then
    echo "$0 ${1%/} start succeed"
else
    echo "$0 ${1%/} start failed"
    echo $TOMCAT_START_LOG
fi

stop.sh

#!/bin/bash
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=${1%/}
echo $CATALINA_BASE
TOMCAT_ID=`ps aux |grep "java"|grep "[D]catalina.base=$CATALINA_BASE "|awk '{ print $2}'`
if [ -n "$TOMCAT_ID" ] ; then
TOMCAT_STOP_LOG=`$CATALINA_HOME/bin/shutdown.sh`
else
    echo "Tomcat instance not found : ${1%/}"
    exit
fi
if [ "$?" = "0" ]; then
    echo "$0 ${1%/} stop succeed"
else
    echo "$0 ${1%/} stop failed"
    echo $TOMCAT_STOP_LOG
fi

修改tomcat01和tomcat02的配置文件,以tomcat01为例。
server.xml:分配各自的端口号

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8084" shutdown="SHUTDOWN"> #此处修改为8084、8085(tomcat02)
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <Service name="Catalina">
    <Connector port="8081" protocol="HTTP/1.1" #此处修改为8081、8082(tomcat02)
               connectionTimeout="20000"
               redirectPort="8443" />

    <Connector protocol="AJP/1.3"
               address="::1"
               port="8085" #此处修改为8085、8086(tomcat02)
               redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>
</Server>

web.xml:规定了默认打开的页面

 <welcome-file-list>
     <welcome-file>index.html</welcome-file>
     <welcome-file>index.htm</welcome-file>
     <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>

/usr/local/tomcat01/webapps/ROOT/indes.jsp为默认打开页面。

3.运行

/usr/local/tomcat_shell/start.sh /usr/local/tomcat01
/usr/local/tomcat_shell/start.sh /usr/local/tomcat02

http://123.57.44.56

三、stream模块:配合mysql

在这里插入图片描述

工作节点C不能暴露于外网,转发节点B负责对外,数据库节点A在外网中。

1.配置nginx

cd /usr/local/nginx/sbin
vim ../conf/nginx.conf

worker_processes  1;
events {
    worker_connections  256; #过多可能导致失败
}
stream {
        upstream stream_server {
             server xxxx:3306;
        }
        server {
             listen 26615; #监听本机26615端口
             proxy_connect_timeout 8s;
             proxy_timeout 2h;
             proxy_pass stream_server; #转发至xxxx:3306
        }
}

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
./nginx -r reload

2.运行

工作节点C:连接数据库节点A

mysql -h节点B的IP地址 --Port=Nginx监听的端口号 -uroot -p
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值