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"));

CentOS6.5+JDK+Tomcat+Mysql+Nginx负载均衡+Redis环境部署的更多相关文章

  1. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  2. Android – 将SQLite与MySQL同步的最佳方式

    参见英文答案>Synchronizingclient-serverdatabases5个我正在开发一个包含网络应用和移动应用程序的项目,该应用程序记录每日用户的数据.用户可以删除,更新他们的数据,他们可以使用许多设备插入数据.我打算这样开发:用户输入他们的数据然后插入sqlite.服务将定期启动(每5小时或每小时)以使用时间戳与MysqL同步.我确实在互联网上使用服务和时间戳搜索了一个样本,但我一

  3. android – 如何将唯一的GCM注册标识存储到MySQL中

    我正在设置GoogleCloudMessaging机制的服务器端,使用MySQL存储移动应用提供的注册ID.Google可以发出最多4k个注册码,我被迫将其存储在TEXT字段中.所有的好,到目前为止,问题是我必须处理这样的情况:>用户登录到应用程序>该应用从google请求注册ID>应用程序将新的注册ID发送到应用服务器>服务器存储该注册ID并将其链接到当前登录的用户>该用户注销并且新用户登录>应

  4. CentOS 8.2服务器上安装最新版Node.js的方法

    这篇文章主要介绍了CentOS 8.2服务器上安装最新版Node.js的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  5. 布隆过滤器(bloom filter)及php和redis实现布隆过滤器的方法

    这篇文章主要介绍了布隆过滤器(bloom filter)介绍以及php和redis实现布隆过滤器实现方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

  6. nodeJs链接Mysql做增删改查的简单操作

    本篇文章主要介绍了nodeJs链接Mysql做增删改查的简单操作,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. PHP连接MYSQL数据库的3种常用方法

    这篇文章主要介绍了PHP连接MYSQL数据库的3种常用方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  8. PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例

    这篇文章主要介绍了PHP使用PDO创建MySQL数据库、表及插入多条数据操作,结合实例形式总结分析了php基于pdo的mysql数据库创建、数据表创建以及多条数据插入操作相关实现技巧,需要的朋友可以参考下

  9. springboot+redis实现简单的热搜功能

    这篇文章主要介绍了springboot+redis实现一个简单的热搜功能,通过代码介绍了过滤不雅文字的过滤器,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  10. MybatisPlus如何处理Mysql的json类型

    这篇文章主要介绍了MybatisPlus如何处理Mysql的json类型,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部