Java 常用服务的安装与部署

来源:互联网 发布:山师教务处网络教育 编辑:程序博客网 时间:2024/06/16 02:11

一、Java环境部署       

1.1 (Java SE)JDK的下载与安装

      官网下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
 
如图所示,勾选Accept License Agreement(接收许可协议),之后选择对应的jdk版本。点击下载链接之后,将jdk安装包保存到本地。
 
如图,即为我们刚才下载好的jdk安装包,双击。
 
点击,下一步。
 
我将jdk安装到E:\Java\jdk1.8.0_131,然后点击下一步。
 
到该图示步骤时,手动更改JRE的安装位置,新建一个文件夹jre1.8.0_131.
 
 
点击下一步,
 
至此,jdk的安装就完成了,点击关闭就可以了。
 

1.2 JDK环境变量配置

计算机 → 属性 → 鼠标右键 → 高级系统设置 → 环境变量
 
如图,新增 JAVA_HOMEJRE_HOME俩个变量,其值为我们上文的:E:\Java\jdk1.8.0_131E:\Java\jre1.8.0_131
 
新建一个变量,CLASS_PATH,其值为:
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(注意前面有一个.
 
最后,编辑变量path : %JAVA_HOME%\bin;%JRE_HOME%\bin;
 
然后,win+R → cmd进入doc框,输入 javac -version ;
 
证明我们的环境已经配置成功。
 
二、Apache Tomcat环境部署 
 
2.1 Apache Tomcat的下载与安装
官网下载地址:http://tomcat.apache.org/download-80.cgi
 
一、首先介绍免安装版的tomcat安装以及部署。
下载好免安装版的压缩包后,解压到指定的目录。如图我们解压到,这里我们解压到E:\apache-tomcat-8.5.15
 
 
如图所示,这三个文件下的一些配置文件是需要我们配置的,bin包下是一些tomcat bat文件,启动、关闭等命令。Conf包下是Tomcatserver.xml 文件,可以修改端口号,以及项目的发布配置,webapps包下是放置java项目编译后的文件或者是war包。
 
2.2 Tomcat的环境变量配置
计算机 → 属性 → 鼠标右键 → 高级系统设置 → 环境变量,新建变量CATALINA_HOMEE:\apache-tomcat-8.5.15
 
编辑CLASS_PATH :新增 %CATALINA_HOME%\common\lib\servlet.jar;
编辑 path:新增 %CATALINA_HOME%bin;
 
 
三、MySql 环境部署 
2.2 Mysql的下载与安装 我们以5.5为例
官网下载地址:https://dev.mysql.com/downloads/mysql/
1、首先进入的是安装引导界面

2、然后进入的是类型选择界面,这里有3个类型:Typical(典型)、Complete(完全)、Custom(自定义)。这里建议 选择“自定义”(Custom)安装,这样可以自定义选择MySQL的安装目录,然后点“Next”下一步,出现自定义安装界面,为了数据安全起见,不建议将MySQL安装系统盘C目录。
3、准备安装
4、安装完成之后会出现MySQL配置的引导界面
5、这里有个引导配置MySQL的选项(Luanch the MySQL Instance Configuration Wizard),建议勾选立即配置你的MySQL

6、这里是配置MySQL的 MySQL配置的类型,可以选择两种配置类型:Detailed Configuration(详细配置)和Standard Configuration(标准配置)。
Standard Configuration(标准配置)选项适合想要快速启动MySQL而不必考虑服务器配置的新用户。详细配置选项适合想要更加细粒度控制服务器配置的高级用户。     
如果你是MySQL的新手,需要配置为单用户开发机的服务器,Standard Configuration(标准配置)应当适合你的需求。选择Standard Configuration(标准配置)选项,则 MySQL Configuration Wizard(配置向导)自动设置所有配置选项,但不包括服务选项和安全选项。
Standard Configuration(标准配置)设置选项可能与安装MySQL的系统不兼容。如果系统上已经安装了MySQL和你想要配置的安装,建议选择详细配置。
这里本人选择的是Detailed Configuration ,想更好的完成个性化定制。
7、这里是配置MySQL的 MySQL服务器类型,可以选择3种服务器类型,选择哪种服务器将影响到MySQL Configuration Wizard(配置向导)对内存、硬盘和过程或使用的决策。
 Developer Machine(开发机器):该选项代表典型个人用桌面工作站。假定机器上运行着多个桌面应用程序。将MySQL服务器配置成使用最少的系统资源。
Server Machine(服务器):该选项代表服务器,MySQL服务器可以同其它应用程序一起运行,例如FTP、email和web服务器。MySQL服务器配置成使用适当比例的系统资源。
 Dedicated MySQL Server Machine(专用MySQL服务器):该选项代表只运行MySQL服务的服务器。假定运行没有运行其它应用程序。MySQL服务器配置成使用所有可用系统资源。
这里本人选择的是Developer Machine ,主要是为了平时开发所需。
8、这里是配置MySQL的 数据库使用情况,你可以指出创建MySQL表时使用的表处理器。通过该选项,你可以选择是否使用InnoDB储存引擎,以及InnoDB占用多大比例的服务器资源。
     Multifunctional Database(多功能数据库):选择该选项,则同时使用InnoDB和MyISAM储存引擎,并在两个引擎之间平均分配资源。建议经常使用两个储存引擎的用户选择该选项。
     Transactional Database Only(只是事务处理数据库):该选项同时使用InnoDB和MyISAM 储存引擎,但是将大多数服务器资源指派给InnoDB储存引擎。建议主要使用InnoDB只偶尔使用MyISAM的用户选择该选项。
     Non-Transactional Database Only(只是非事务处理数据库):该选项完全禁用InnoDB储存引擎,将所有服务器资源指派给MyISAM储存引擎。建议不使用InnoDB的用户选择该选项。
本人选择的是Multifunctional Database .
9、这里是配置MySQL的 InnoDB表空间,有些用户可能想要将InnoDB表空间文件放到不同的位置,而不放到MySQL服务器数据目录。如果你的系统有较大的空间或较高性能的储存设备(例如RAID储存系统),则最好将表空间文件单独放到一个位置。要想更改InnoDB表空间文件的默认位置,从驱动器下拉列表选择一个新的驱动器,并从路径下拉列表选择新的路径。要想创建路径,点击 ...按钮。如果你要更改已有服务器的配置,更改路径前你必须点击Modify按钮。此时启动服务器之前,你必须将已有表空间文件移到新位置。本人选择的默认配置。
10、这里是配置MySQL的并发连接,限制所创建的与MySQL服务器之间的并行连接数量很重要,以便防止服务器耗尽资源。可以选择服务器的使用方法,并根据情况限制并行连接的数量。还可以手动设置并行连接的限制。
Decision Support(决策支持)(DSS)/OLAP:如果服务器不需要大量的并行连接可以选择该选项。假定最大连接数目设置为100,平均并行连接数为20。
Online Transaction Processing(联机事务处理)(OLTP):如果你的服务器需要大量的并行连接则选择该选项。最大连接数设置为500。
 Manual Setting(人工设置):选择该选项可以手动设置服务器并行连接的最大数目。从前面的下拉框中选择并行连接的数目,如果你期望的数目不在列表中,则在下拉框中输入最大连接数。
这里根据个人所需,本人选择的是Manual Setting.
11、这里是配置MySQL的网络选项,可以启用或禁用TCP/IP网络,并配置用来连接MySQL服务器的端口号。默认情况启用TCP/IP网络。要想禁用TCP/IP网络,取消选择Enable TCP/IP Networking选项旁边的检查框。默认使用3306端口。要想更访问MySQL使用的端口,从下拉框选择一个新端口号或直接向下拉框输入新的端口号。如果你选择的端口号已经被占用,将提示确认选择的端口号,如果其他机器需要访问该数据库,建议勾选 Add firewall exception for this port(添加到防火墙例外)。
12、这里是配置MySQL的字符集,MySQL服务器支持多种字符集,可以设置适用于所有表、列和数据库的默认服务器字符集。可以通过Character Set(字符集对话框)来更改 MySQL服务器的默认字符集。
 Standard Character Set(标准字符集):如果想要使用Latin1做为默认服务器字符集,则选择该选项。Latin1用于英语和许多西欧语言。
Best Support For Multilingualism(支持多种语言):如果想要使用UTF8做为默认服务器字符集,则选择该选项。UTF8可以 将不同语言的字符储存为单一的字符集。
Manual Selected Default Character Set/Collation(人工选择的默认字符集/校对规则):如果想要手动选择服务器的默认字符集,请选择该项。从下拉列表中选择期望的字符集。
13、这里是配置MySQL的服务选项,可以将MySQL服务器安装成服务。安装成服务,系统启动时可以自动启动MySQL服务器,甚至出现服务故障时可以随Windows自动启动。
默认情况,MySQL Configuration Wizard(配置向导)将MySQL服务器安装为服务,服务名为MySQL。如果你不想安装服务,取消Install As Windows Service选项旁边的选择框。可以从下拉框选择新的服务名或在下拉框输入新的服务名来更改服务名。要想将MySQL服务器安装为服务,但是不自动启动,不选中Launch the MySQL Server Automatically选项旁边的检查框。、
14、这里是配置MySQL的安全选项,强烈建议为你的MySQL服务器设置一个root密码,默认情况MySQL Configuration Wizard(配置向导)要求你设置一个root密码。如果你不想设置root密码,不选中Modify Security Settings(修改安全设定值)选项旁边的选择框。要想设置root密码,在New root password(输入新密码)和Confirm(确认)两个框内输入期望的密码。如果重新配置已有的服务器,你还需要Current root password(当前root密码)框内输入已有的root密码。要想防止通过网络以root登录,选中Root may only connect from localhost(只允许从本机登陆连接root)选项旁边的框。这样可以提高root账户的安全。要想创建一个匿名用户账户,选中Create An Anonymous Account(创建匿名账户)选项旁边的框。创建匿名账户会降低服务器的安全,并造成登录和许可困难。因此不建议。
15、确认,点击Excute完成安装
 
四、Redis环境部署 
官网下载地址:https://redis.io/download
 
如图所示,下载该压缩包,
在D盘新建文件夹【redis】,右键解压Redis ZIP包,把所有文件解压到redis文件夹中。(其他盘符也可以滴^_^)
文件介绍:
redis-benchmark.exe         #基准测试
redis-check-aof.exe         # aof
redischeck-dump.exe        # dump
redis-cli.exe               # 客户端
redis-server.exe            # 服务器
redis.windows.conf          # 配置文件
windows 运行(快捷键:windows键+R键),输入【cmd】命令,进入DOC操作系统窗口。
使用命令【redis-server.exe  redis.windows.conf】,启动redis 服务【如果您没出现如下的错误,直接跳过】。如果您也像我一样出现如下的错误,不用急,总有解决办法滴!
解决办法:
根据提示,是 maxheap 标识有问题,打开配置文件 redis.windows.conf ,搜索 maxheap , 然后直接指定好内容即可.
......
# maxheap <bytes>
maxheap 1024000000
.......
然后再次启动,OK,成功.

服务启动成功状态
启动redis服务的doc窗口,不用关闭,因为服务需要一直执行,关闭服务,直接关闭窗口就行。
新打开一个doc窗口,用自带的客户端工具进行测试 命令【redis-cli.exe】,详细操作如下。。事例展示了一个基本的读写操作,设置set key->age,value->21,get age 得到key的值。^_^
 
 
五、MongoDB 环境部署
官网下载地址: 
https://www.mongodb.com/download-center#community
 
下载完成后解压缩到D:\MongoDB目录
创建数据库目录D:\MongoDB\data,接下来打开命令行窗口,切换到D:\MongoDB\bin 目录执行如下命令:
其中 --dbpath是指定数据库存放目录,这里要注意有两个 "-"
mongod --dbpath D:\MongoDB\data
这是命令行窗口会打印一些启动信息,最后一行显示为如下信息时表示启动成功了
2014-04-23T10:38:48.391+0800 [initandlisten] waiting for connections on port 27017
这是在浏览器输入http://localhost:27017/可以看到显示信息为
It looks like you are trying to access MongoDB over HTTP on the native driver port.
具体截图如下:

到此mongodb算是安装完了,比想象中简单了太多哈
MongoDB安装为Windows服务
将mongodb安装为windows服务非常简单只需要在上面执行的命令行后添加 --install即可
mongod --dbpath D:\MongoDB\data --install
按照正常的剧情,应该服务就安装成功了,但是很不幸,出现下面提示
--install has to be used with --logpath
按照提示,我们需要指定log目录,所以我们创建log目录D:\MongoDB\logs 然后重新执行命令
mongod --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log --logappend
但是提示还是没有指定日志路径,几经折腾发现这是2.6版本的一个bug,将会在下一个版本修复,然后我们有两个选择,一个选择是使用上一个版本2.4.9,另一个选择是先用2.4.9版本安装成功服务,然后在升级到2.6(肿么升级?直接用2.6版本替换掉对应2.4.9版本的文件),那我们还有其他的选择吗,答案当然是肯定的,使用sc命令创建服务,使用net start启动服务
sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log  --logappend"
net start MongoDB
MongoDB配置文件
很遗憾,官方下载的安装包里面没有默认的配置文件,若想使用配置文件只能自己建一个了,另外个人也推荐使用配置文件来管理MongoDB的配置,使用配置文件配置数据库文件、日志文件以及其它的一些配置都一目了然
解压安装包到D:\MongoDB
建立数据库目录 D:\MongoDB\data
建立日志目录 D:\MongoDB\logs
建立配置文件目录 D:\MongoDB\etc
建立配置文件 D:\MongoDB\etc\mongodb.conf
dbpath=D:\MongoDB\data #数据库路径
logpath=D:\MongoDB\logs\mongodb.log #日志输出文件路径
logappend=true #错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
journal=true #启用日志文件,默认启用
quiet=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
port=27017 #端口号 默认为27017
这里仅指定了几个常用项,更多详细配置请参考官方文档 http://docs.mongodb.org/manual/reference/configuration-options/
注:以上目录是博主自己建立的目录,官方并没有对配置文件路径做出规范,全凭个人喜好来决定
配置文件和相关目录建好后使用如下方式启动MongoDB
普通启动
mongod --config D:\MongoDB\etc\mongodb.conf
安装为Windows服务
注:2.6版 这种方式在win7、win8 64位版无法安装成功,其他系统未测试
mongod --config D:\MongoDB\etc\mongodb.conf --install
使用SC安装为Windows服务
sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --config=D:\MongoDB\etc\mongodb.conf"
 
这里需要注意下当指定了日志文件后,无论使用配置文件指定还是在命令行指定,日志就都会输出到指定的日志文件去了,在命令行界面将看不到任何日志输出
 
六、Mysql数据库备份与还原 
 mysqldump常用于MySQL数据库逻辑备份。
 
1、各种用法说明
     A. 最简单的用法:
mysqldump -uroot -pPassword [database name] 
> [dump file]
     上述命令将指定数据库备份到某dump文件(转储文件)中,比如:
mysqldump -uroot -p123 test > test.dump
     生成的test.dump文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句。
 
     B. --opt
     如果加上--opt参数则生成的dump文件中稍有不同:
     . 建表语句包含drop table if exists tableName
     . insert之前包含一个锁表语句lock tables tableName write,insert之后包含unlock tables

     C. 跨主机备份
     使用下面的命令可以将host1上的sourceDb复制到host2的targetDb,前提是host2主机上已经创建targetDb数据库:
mysqldump --host=host1 --opt sourceDb| mysql --host=host2 -C targetDb
     -C指示主机间的数据传输使用数据压缩
 
     D. 只备份表结构
mysqldump --no-data --databases mydatabase1 mydatabase2 mydatabase3 > test.dump
     将只备份表结构。--databases指示主机上要备份的数据库。如果要备份某个MySQL主机上的所有数据库可以使用--all-databases选项,如下:
mysqldump --all-databases
> test.dump
 
     E. 从备份文件恢复数据库
mysql [database name] < [backup file name]
 
2、结合Linux的cron命令实现定时备份
    比如需要在每天凌晨1:30备份某个主机上的所有数据库并压缩dump文件为gz格式,那么可在/etc/crontab配置文件中加入下面代码行:
30 1 * * * root mysqldump -u root -pPASSWORD --all-databases | gzip > /mnt/disk2/database_`date '+%m-%d-%Y'`.sql.gz
    前面5个参数分别表示分钟、小时、日、月、年,星号表示任意。date '+%m-%d-%Y'得到当前日期的MM-DD-YYYY格式。
 
3、一个完整的Shell脚本备份MySQL数据库示例
#vi /backup/backup.sh 
#!bin/bash
cd /backup
echo "You are in backup dir"
mv backup* /oldbackup
echo "Old dbs are moved to oldbackup folder" File = backup-$Now.sql
mysqldump -u user -p password database-name > $File
echo "Your database backup successfully completed"
     上面脚本文件保存为backup.sh,并且系统中已经创建两个目录/olcbackup和/backup。每次执行backup.sh时都会先将/backup目录下所有名称为backup开头的文件移到/oldbackup目录。
      为上述脚本制定执行计划如下:
#crontab -e
30 1 * * * /backup.sh
 
4、mysqldump全量备份+mysqlbinlog二进制日志增量备份
    从mysqldump备份文件恢复数据会丢失掉从备份点开始的更新数据,所以还需要结合mysqlbinlog二进制日志增量备份。确保my.ini或者my.cnf中包含下面的配置以启用二进制日志,或者mysqld ---log-bin:
[mysqld]
log-bin=mysql-bin
    mysqldump命令必须带上--flush-logs选项以生成新的二进制日志文件:
mysqldump --single-transaction --flush-logs --master-data=2 > backup.sql
    这样生成的增量二进制日志文件比如为mysql-bin.000003,那么恢复数据时如下:
1
2
shell> mysql -uroot -pPwd < backup_sunday_1_PM.sql
shell> mysqlbinlog mysql-bin.000003 | mysql -uroot -pPwd
   此外mysqlbinlog还可以指定--start-date、--stop-date、--start-position和--stop-position参数,用于精确恢复数据到某个时刻之前或者跳过中间某个出问题时间段恢复数据,直接摘录MySQL文档说明中相关内容如下:
5.9.3.1. 指定恢复时间
对于MySQL 4.1.4,可以在mysqlbinlog语句中通过--start-date和--stop-date选项指定DATETIME格式的起止时间。举例说明,假设在今天上午10:00(今天是2005年4月20日),执行SQL语句来删除一个大表。要想恢复表和数据,你可以恢复前晚上的备份,并输入:
mysqlbinlog --stop-date="2005-04-20 9:59:59" /var/log/mysql/bin.123456 \
     | mysql -u root -pmypwd
该命令将恢复截止到在--stop-date选项中以DATETIME格式给出的日期和时间的所有数据。如果你没有检测到几个小时后输入的错误的SQL语句,可能你想要恢复后面发生的活动。根据这些,你可以用起使日期和时间再次运行mysqlbinlog:
 
mysqlbinlog --start-date="2005-04-20 10:01:00" /var/log/mysql/bin.123456 \
     | mysql -u root -pmypwd \
在该行中,从上午10:01登录的SQL语句将运行。组合执行前夜的转储文件和mysqlbinlog的两行可以将所有数据恢复到上午10:00前一秒钟。你应检查日志以确保时间确切。下一节介绍如何实现。
 
5.9.3.2. 指定恢复位置
也可以不指定日期和时间,而使用mysqlbinlog的选项--start-position和--stop-position来指定日志位置。它们的作用与起止日选项相同,不同的是给出了从日志起的位置号。使用日志位置是更准确的恢复方法,特别是当由于破坏性SQL语句同时发生许多事务的时候。要想确定位置号,可以运行mysqlbinlog寻找执行了不期望的事务的时间范围,但应将结果重新指向文本文件以便进行检查。操作方法为:
mysqlbinlog --start-date="2005-04-20 9:55:00" --stop-date="2005-04-20 10:05:00" \
      /var/log/mysql/bin.123456 > /tmp/mysql_restore.sql
该命令将在/tmp目录创建小的文本文件,将显示执行了错误的SQL语句时的SQL语句。你可以用文本编辑器打开该文件,寻找你不要想重复的语句。如果二进制日志中的位置号用于停止和继续恢复操作,应进行注释。用log_pos加一个数字来标记位置。使用位置号恢复了以前的备份文件后,你应从命令行输入下面内容:
 
mysqlbinlog --stop-position="368312" /var/log/mysql/bin.123456 \
    | mysql -u root -pmypwd 
 
mysqlbinlog --start-position="368315" /var/log/mysql/bin.123456 \
    | mysql -u root -pmypwd \ 
上面的第1行将恢复到停止位置为止的所有事务。下一行将恢复从给定的起始位置直到二进制日志结束的所有事务。因为mysqlbinlog的输出包括每个SQL语句记录之前的SET TIMESTAMP语句,恢复的数据和相关MySQL日志将反应事务执行的原时间。