CentOS6.5+JDK+Tomcat+Mysql+Nginx负载均衡+Redis环境部署

1. CentOS6.5直接申请阿里云ECS实例,不再累述。

Windows安装XShell作为SSH客户端,安装Xftp5作为文件传输的客户端。

2. JDK安装:

(1)下载JDK tar包,地址:

http://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html

选择Linuxx64:jdk-8u101-linux-x64.tar.gz

通过Xftp5将tar包上传到CentOS6.5的root目录下

解压tar包:#tar -zxvf jdk-8u101-linux-x64.tar.gz

(2)JDK目录移植到/usr/java:

#mkdir /usr/java

#mv jdk1.8.0_92 /usr/java

(3)设置环境变量:

#vim /etc/profile

按i键进入编辑状态,文档末尾追加如下内容:

JAVA_HOME=/usr/java/jdk1.8.0_92

CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CATALINE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME

按esc键退出编辑状态,输入:wq,保存退出

让刚刚设置的环境变量立即生效:#source /etc/profile

(4)验证:

#java -version

输出:

Javaversion "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14,mixed mode)

3. Tomcat安装:

(1)下载Tomcat tar包,地址:

http://tomcat.apache.org/download-70.cgi

选择Core,tar.gz

通过Xftp5将tar包上传到CentOS6.5的root目录下

解压tar包:#tar -zxvf apache-tomcat-7.0.72.tar.gz

(2)Tomcat目录移植到/usr/local:

#mv apache-tomcat-7.0.72 /usr/local/tomcat

(3)启动Tomcat

#cd /usr/local/tomcat/bin

#./startup.sh

(4)验证:

Windows浏览器访问http://****(CentOS外网地址):8080,出现Apache Tomcat的WEB界面(变态黄猫)

4.MySQL安装:

(1)安装Mysql:

先查看当前Linux是否已安装mysql:#rpm -qa | grep mysql

删除原先的mysql:#rpm -e mysql //普通删除模式

#rpm -e --nodeps mysql // 强力删除模式,上面命令删不干净就用这个

安装:#yum install -y mysql-server mysql mysql-deve

(2)验证:

#rpm -qi mysql-server

(3)启动mysql:

#service mysqld start

(4)设置开机自启动:

先查看是否为开机自启动:#chkconfig --list | grep mysqld

mysqld 0:off1:off2:off3:off4:off5:off6:off(可见非开机自启动)

设置为开机自启动:#chkconfig mysqld on

重新查看:#chkconfig --list | grep mysqld

mysqld 0:off1:off2:on3:on4:on5:on6:off(可见已设置为开机自启动)

(5)为mysql的root账号设置密码:

#mysqladmin -u root password 'root' // 设置密码为root

(6)登录mysql:

#/mysql -u root -p

输入root密码登录

(7)创建数据库、创建表、插入数据:

创建数据库:

show databases; // 查看现有数据库,注意mysql中每条命令最后都要加分号

create database wuyang; // 创建数据库wuyang

show databases;

use wuyang; // 切换操作wuyang为当前数据库

创建表:

show tables; // 查看现有表

create table users (userId varchar(8),userName varchar(8)); // 创建表

show tables;

插入数据:

insert into users values ('001','zhangsan');

insert into users values ('002','lisi');

select * from users; // 查询刚刚插入的数据

desc users; // 查看表结构

exit; // 登出

(8)Tomcat中创建Servlet访问Mysql:

建议先在Windows中创建,调通后再将编译后的Servlet.class和mysql驱动器拷贝到CentOS

创建Servlet的java文件:

Eclipse创建Dynamic Web Project工程,Dynamic web module version选择2.5(选择3.0的话将不会自动生成web.xml文件)

创建Serverlet.java继承自HttpServlet

添加代码:

import java.sql.*;

doGet方法添加代码:

try
{
Class.forName("com.mysql.jdbc.Driver");
Connection ct = DriverManager.getConnection("jdbc:mysql://****(CentOS外网地址):3306/wuyang?useEncode=true&characterEncoding=utf-8&user=root&password=root"); // mysql默认端口3306
// Connection ct = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/wuyang?useEncode=true&characterEncoding=utf-8&user=root&password=root"); // 后面把Windows的Servlet.class文件拷贝到CentOS后,把上面的这句代码中的地址改成此句中的127.0.0.1,或者相应的mysql所在内网IP
Statement sm = ct.createStatement();
ResultSet rs = sm.executeQuery("select * from users");

while(rs.next())
{
System.out.println("username=" + rs.getString(2));
response.getWriter().append("username=" + rs.getString(2));
}
}
catch(Exception e)
{
e.printStackTrace();
response.getWriter().append(e.toString());
}

Ctrl+s保存后自动生成class文件

(9)下载mysql连接驱动器,地址:

http://mvnrepository.com/artifact/mysql/mysql-connector-java

下载mysql-connector-java-5.1.40-bin.jar文件(jar文件在Windows和CentOS中是通用的)

Windows放到tomcat/lib目录,CentOS同样放到tomcat/lib中

(10)重启Tomcat(过程略):

(11)验证:

Windows浏览器访问http://****(CentOS外网地址):8080/****(对应webapps目录)/Servlet,出现:

username=zhangsanusername=lisi

5. Nginx安装:

(1)安装Nginx:

#yum -y install gcc gcc-c++ autoconf automake make // 安装gcc编译器及相关工具

#yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel // 安装相关依赖的模块

#cd /usr/local/src

#wget http://www.nginx.org/download/nginx-1.2.8.tar.gz // 下载Nginx

#tar -zxvf ngingx-1.2.8.tar.gz

#cd nginx-1.2.8

#./configure --prefix=/usr/local/nginx // 通过编译源码的方式进行安装

//------配置完毕后如下提示-----------//
Configuration summary
+ using system PCRE library
+ OpenSSL library is not used
+ md5: using system crypto library
+ sha1: using system crypto library
+ using system zlib library

nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
//----------------------------------------//

#make

#make install

(2)启动Nginx:

#/usr/local/nginx/sbin/nginx -t

#/usr/local/nginx/sbin/nginx

检查Nginx进程,确认是否启动成功:#ps -ef | grep nginx

(3)验证:

Windows浏览器访问http://****(CentOS外网地址):80,出现Welcome to nginx!信息

(4)配置Nginx负载均衡:

在阿里云上申请另一个CentOS6.5的ECS实例(在Tomcat中设置不同的Servlet,或Mysql中插入不同的数据,以便后面进行验证)

设置Nginx配置文件:

#vim /usr/local/nginx/conf/nginx.conf

文档末尾追加:

upstream localhosts { // 默认轮询算法,权重算法下述每个server添加weight、max_fails、fail_timeout,不再累述

server 127.0.0.1:8080; // 反向代理到本机Tomcat

server ****(第二个CentOS内网地址):8080;

}

nginx.conf文档中部找到server总结点,用#注释掉其中的整个location节点,重新添加location节点:

location / {

proxy_pass http://localhosts;

proxy_set_header X-Real-IP $remote_addr;

proxy_redirect default;

}

(5)重启Nginx:

#/usr/local/nginx/sbin/nginx -s reload

如果只是执行#/usr/local/nginx/sbin/nginx,会遇到错误:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)时

#fuser -k 80/tcp // 关闭被占用的端口

#/usr/local/nginx/sbin/nginx//重新启动Nginx

直接运行#/usr/local/nginx/sbin/nginx -s reload,就不会有上述问题了

(6)验证Nginx负载均衡:

Windows浏览器连续刷新访问http://****(CentOS外网地址):80/****(对应webapps目录)/Servlet,依次交替(Nginx负载均衡的轮询算法)出现两个ECS实例的Servlet内容

关闭其中一个CentOS中的Tomcat,再刷新浏览器,发现只会访问那个还开着的CentOS的Tomcat,说明Nginx在实现负载均衡的同时,保证了高可用。

6.Redis安装:

(1)先安装tcl,否则后面无法make test:#yum install -y tcl

(2)安装Redis:

#cd ~

#wget http://download.redis.io/redis-stable.tar.gz

#tar -zxvf redis-stable.tar.gz

#cd redis-stable

#make

#make test

(3)配置Redis:

在make成功以后,会在src目录下多出一些可执行文件:redis-server,redis-cli等等。

方便期间用cp命令复制到usr目录下运行。

cp redis-server /usr/local/bin/

cp redis-cli /usr/local/bin/

然后新建目录,存放配置文件

mkdir /etc/redis

mkdir /var/redis

mkdir /var/redis/log

mkdir /var/redis/run

mkdir/var/redis/6379

在redis解压根目录中找到配置文件模板,复制到如下位置。

cp redis.conf /etc/redis/redis.conf

通过vim命令修改

daemonize yes

pidfile /var/redis/run/redis_6379.pid

logfile /var/redis/log/redis_6379.log(默认是空的,这个不太好找)

dir /var/redis/6379(默认是空的,这个也不太好找)

(4)启动redis:

#redis-server /etc/redis/redis.conf

(5)验证:

#redis-cli // 启动redis客户端

>set foo bar

OK

>get foo

"bar"

(6)分布式访问Redis设置:

第二个CentOS上同样也要部署Redis环境,主要是要部署redis-cli(Redis客户端)

直接用第二个CentOS通过#redis-cli -h ****(第一个CentOS内网地址)-p 6379会出现错误:

Could not connect to Redis at ****:6379: Connection refused

因为Redis默认只能localhost登录,需要手动开启远程登录

在第一个CentOS修改redis-server的配置文件并重启:

#vim /etc/redis/redis.conf

找到bind localhost并使用#注释掉

这是再用第二个CentOS就能够通过#redis-cli -h ****(第一个CentOS内网地址)-p 6379访问第一个CentOS上的Redis了

(7)Tomcat中Servlet访问Redis:

先下载Redis客户端驱动jedis-2.1.0.jar,地址:

http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip

将解压后的jedis-2.1.0.jar放到目录:对应webapps下lib文件夹或对应webapps下WEB-INFO下lib文件夹中

然后在java文件添加代码:

import redis.clients.jedis.Jedis;

// 连接本地的 Redis 服务 Jedis jedis = new Jedis("127.0.0.1",6379); // 经测试只能访问本机Redis或局域网所在IP,外网无法访问!! response.getWriter().append("Connection to server sucessfully"); // 查看服务是否运行 response.getWriter().append("Server is running: " + jedis.ping()); //获取前面设置的Key:foo response.getWriter().append(jedis.get("foo")); // 设置Key jedis.set("me","Redis tutorial"); // 获取刚刚设置的Key response.getWriter().append(jedis.get("me"));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


linux下开机自启: 在/etc/init.d目录下新建文件elasticsearch 并敲入shell脚本: 注意, 前两行必须填写,且要注释掉。 第一行为shell前行代码,目的告诉系统使用shell。 第二行分别代表运行级别、启动优先权、关闭优先权,且后面添加开机服务会用到。 shell脚本
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限 chmod +x /usr
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。 查询当前目录总大小可以使用d
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题 安装Supervisor 1 yum install python-setuptools
设置时区(CentOS 7) 先执行命令timedatectl status|grep 'Time zone'查看当前时区,如果不是时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。 #已经是Asia/Shanghai,则无需设置 [root@xia
vim /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO="static" ONBOOT=yes IPADDR=192.168.8.106 NETMASK=255.255.252.0 GATEWAY=192.168.
一、安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [root@localhost local]# yum install -y gcc 二、下载并解压安装包 [root@localhost local
第一步 On CentOS/RHEL 6.*: $ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm On CentOS/RHEL 7: $
/// <summary> /// 取小写文件名后缀 /// </summary> /// <param name="name">文件名</param> /// <returns>返回小写后缀,不带“.”</ret
which nohup .bash_profile中并source加载 如果没有就安装吧 yum provides */nohup nohup npm run start & nohup ./kibana &
1.1 MySQL安装 1.1.1 下载wget命令 yum -y install wget 1.1.2 在线下载mysql安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 1.1.3 安装My
重启 reboot shutdown -r now init 6 关闭 init 0 shutdown -h now shutdown -h 20:25 #8点25关机查看内存 free CPU利用率 top 日期 date 设置时间 date 033017002015 #月日时间年 日历 cal
1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 :
1 下载并安装MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概
CentOS6.x CentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式。 一、相关命令 通过initctl help可以查看相关命令 [root@localhost ~]# initctl help Job commands: start Start job. sto
1、使用命令:df -lk 找到已满磁盘 2、使用命令:du --max-depth=1 -h 查找大文件,删除
ifconfig:查看网卡信息 网卡配置文件位置: /etc/sysconfig/network-scripts/文件夹 nmtui:配置网卡 netstat -tlunp:查看端口信息 端口信息存储位置: /etc/services文件 route:查看路由信息 wget:下载网路文件,例如 wg
ps -ef:查看所有进程, ps -ef |grap firewalld 查看与firewalld相关的进程 which :查看进程:which firewalld kill 进程id:杀掉进程 kill 640,强制杀:kill -9 640 man:查看帮助,例如 man ps 查看
useradd:添加用户 useradd abc,默认添加一个abc组 vipw:查看系统中用户 groupadd:添加组groupadd ccna vigr:查看系统中的组 gpasswd:将用户abc添加到ccna组 gpasswd -a abc ccna groups abc:查看用户abc属