将jsp开发的网站部署到linux环境指南
1.概述
网站部署过程概述。该部署指南是关于如何在服务器上部署主网站,以及相关的软硬件配置,相关的术语介绍。
2.硬件和软件环境
2.1 主站配置:
硬件配置:内存1024MB,硬盘SCSI 36GX2 ,CPU 双至强2.0,双千兆卡
软件配置:Linux7.2, jdk1.4.2,resin-2.1.12,mysql4.0.18, IglooFTP PRO3.9,
t98setup telnet,阳春白雪(中文编辑软件)等。
3.安装过程
3.1 linux 7.2
3.1.1 光盘启动
将第一片linux7.2的光盘放入光驱,启动后出现Red Hat Linux 7.2
的欢迎画面。在上述画面中直接按Enter键即可,经过一段时间的启动过程之
后就可以见到Red Hat Linux 图形模式的安装欢迎画面。
选择语言 :Chinese(Simplified)
键盘 :Generic 105-key(Int) PC
:U.S. English
:使用死键
鼠标 :Generic
2Button Mouse(PS/2)
安装等级 :服务器
安装显卡驱动 :(CTX-EX700, 24位真彩,800 x 600)
硬盘分区
1. 让安装程序自动分割硬盘:
a.若以前安装过linux,此项会先删除硬盘上已有的硬盘分区,然后再
自动分割硬盘。
b.删除所有的分区,再重新分割硬盘。如果硬盘上已经有其他的操作系统将会删除原有的分区。
c.保存已有的分区并使用还未使用的分区,来分割硬盘。
2.手动分区,可使用fdisk工具根据实际需要来完成设置。
时区选择 : 在中国上海处单击鼠标左键.
防火墙(默认) : 级别为中级。
设置网络环境 :
设置网卡的TCP/IP设置值:
IP Address : 192.168.12.40
Netmask : 255.255.255.0
Network : 192.168.0.0
Broadcast : 192.168.0.255
Hostname : bjhly
Gateway : 192.168.12.1
Primary DNS : 192.168.0.255
Secondary DNS:
Ternary DNS :
/dev/i2o/
3.1.2 安装 阳春白雪
双击阳春白雪光盘上的YCBX-SETUP后即可根据提示进行安装,安装成
功后即可使用中文输入。
3.2 jdk1.4.2
3.2.1 安装 j2sdk-1_4_2_04-linux-i586.rpm
首先将 j2sdk-1_4_2_04-linux-i586.rpm拷贝到/usr/local目录下,
再执行 rpm –ivh j2sdk-1_4_2_04-linux-i586.rpm
j2sdk-1_4_2_04就被安装在 /usr/java目录下。
3.3 resin2.1.12
3.3.1 安装resin-2.1.12.tar.gz
首先将 resin-2.1.12.tar.gz拷贝到/usr/local 目录下,
再执行 tar –xzvf resin-2.1.12.tar.gz
resin-2.1.12. 就被安装在 /usr/java 目录下。
3.3.1 修改环境变量
修改/etc目录下的profile文件
PATH="$PATH:/usr/java/j2sdk1.4.2_04/jre/bin:/usr/java/j2sdk1.4.2_04/bin"
Java_HOME=/usr/java/j2sdk1.4.2_04
export Java_HOME
JRE_HOME=/usr/java/j2sdk1.4.2_04/jre
export JRE_HOME
CLASSPATH=/usr/java/j2sdk1.4.2_04/lib:/usr/java/j2sdk1.4.2_04/jre/lib
export CLASSPATH
若是出现环境变量在CLASSPATH中无法找到时:
将/usr/local/j2sdk-1_4_2_04/lib目录下的tools.jar 拷贝到
/usr/java/resin-2.1.12/lib 的目录下即可。
3.3.1 resin的启动和停止
[root@bjhly root] cd /usr/java/resin-2.1.12/bin
[root@bjhly bin] ./httpd.sh -start 开启 resin
[root@bjhly bin]./httpd.sh –stop 停止 resin
3.4 mysql 4.0.18
3.4.1 安装MySQL:
MySQL-server-4.0.18-0.i386.rpm
MySQL-client-4.0.18-0.i386.rpm
下载地址为:http://www.mysql.com/downloads/mysql-4.0.html,找到“Server”和“Client programs”项,下载需要的上述两个rpm文件。
rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是 –ivh ,其中i表示将安装指定的rmp软件包,V表示安装时的详细信息,h表示在安装期间出现“#”符号来显示目前的安装过程。这个符号将持续到安装完成后才停止。
1) 安装服务器端
2) 在有两个rmp文件的目录下运行如下命令:
[root@test1 local]# rpm -ivh MySQL-server-4.0.18-0.i386.rpm
3) 显示如下信息。
warning: MySQL-server-4.0.18-0.i386.rpm: V3 DSA signature: NOKEY, key ID
5072e1f5
Preparing...########################################### [100%]
1:MySQL-server########################################### [100%]
。。。。。。(省略显示)
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h test1 password 'new-password'
。。。。。。(省略显示)
Starting mysqld daemon with databases from /var/lib/mysql
如出现如上信息,服务端安装完毕。测试是否成功可运行netstat看Mysql端口是否打
开,如打开表示服务已经启动,安装成功。Mysql默认的端口是3306。
[root@bjhly local]# netstat –nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp00 0.0.0.0:3306 0.0.0.0:* LISTEN
上面显示可以看出MySQL服务已经启动。
2)安装客户端
运行如下命令:
[root@bjhly local]# rpm -ivh MySQL-client-4.0.18-0.i386.rpm
warning: MySQL-client-4.0.18-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...########################################### [100%]
1:MySQL-client ########################################### [100%]
显示安装完毕。
3. 4. 2 登录MySQL
登录MySQL的命令是mysql, mysql 的使用语法如下:
mysql [-u username] [-h host] [-p[password]] [dbname]
username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是
root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,
由于初始没有密码,第一次进时只需键入mysql即可。
[root@bjhly local]# mysql
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.0.16-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
出现了“mysql>”提示符,恭喜你,安装成功!
增加了密码后的登录格式如下:
mysql -u root -p
Enter password: (输入密码)
其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。
3.4.3增加MySQL用户
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:
mysql> grant select,insert,update,delete on *.* to zsx@"%" Identified by "123";
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。
例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作aaa库。
mysql>grant select,insert,update,delete on test.* to zsx@localhost identified by "123";
用新增的用户如果登录不了MySQL,在登录时用如下命令:
mysql -u user_1 -p-h 192.168.113.50(-h后跟的是要登录主机的ip地址)
3. 4. 4启动与停止
1、 启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
[root@bjhly init.d]# /etc/init.d/mysql start
停止
/usr/bin/mysqladmin -u root -p shutdown
3. 4. 5增加MySQL用户
增加一个用户username密码为123,让此用户只可以在localhost上登录,并可以对数据库test进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道username的密码,他也无法从网上直接访问数据库,只能通过MYSQL主机来操作test库。
mysql>grant select,insert,update,delete,create on test.* to username@localhost identified by "123";
3.4.6备份与恢复
1、备份
例如将Linux环境下的数据库test备份到windows中去,可以通过windows下的
mysql连接到Linux 的mysql数据库,然后导出数据库为脚本back_test.sql。
2、恢复
例如将windows环境下备份的数据库脚本back_test.sql恢复到Linux中去,同样可以通过windows下的mysql连接到Linux 的mysql数据库,还原数据库。
3.5 网站部署
3.5.1 通过ftp工具将在windows下开发的JSP上传到linux的resin中相应的目录。
将doc 和 webapps 目录下的文件拷贝到linux中的/usr/java/resin-2.1.12
的相应目录中去。
3.6 ftp
3.6.1 文件传输协议原理
互联网文件传输协议(File Transfer Protocol ,FTP) 标准是在RFC959说明的。该协议定义了一个从远程计算机系统和本地计算机系统之间传输文件的一个标准。一般来说,传输文件的用户需要先经过认证以后才能登录网站,然后方能访问在远程服务器的文件。而大多数的FTP服务器往往提供一个GUEST的公共帐户来允许没有远程服务器的用户可以访问该FTP服务器。
3.6.2 使用的软件是 IglooFTP PRO3.9。IglooFTP PRO可以说是LINUX中最好的FTP客户端软件之一,其界面用"华丽"来形容一点也不过分,他最大的特点就是容易使用,功能强大、可以调整许多设定选项。很多的选择项都可点选相关的图标来完成;有快速的工具列、快速连线列,和本地端的图形化目录浏览视窗,漂亮的文件相关图标,并且还有Netscape 的小工具列。服务器地址簿,使用了树状阶层式的网站方法,每一个ftp site以及group的资料都能很容易地被调整。另外还有不同使用者(user profile)的管理;远端控制一台FTP server到FTP client 传输资料(FXP transfers);URL剪贴簿中的监控;防火墙的支持(包括了SOCKS 5, ftp-gw, WinGate proxy等等);远端目录的快取功能;排列(queue)管理;还有许多进阶的使用者命令等等。
3.6.3 Wu-FTP
安装Wu-FTP
根据服务对象的不同,FTP服务可以分为两类:一类是系统FTP服务器,它只 允
许系统上的合法用户使用;另一类是匿名FTP服务器,它允许任何人登录到FTP服务
器,和服务器连接后,在登录提示中输入Anonymous,即可访问服务器。针对这两种
服务,可以通过RedHat的第一张光盘安装Wu-Ftpd的RPM包,只需以Root身份进
入系统并运行下面的命令即可:
Rpm - ivh anonftp -x.x-x.i386.rpm
Rpm - ivh wu-ftpd-x.x.x-x.i386.rpm
其中-x.x-x和-x.x.x-x是版本号。
3.6.4 启动和关闭FTP服务器
自动启动固然方便,但是,当我们更改了Wu-Ftpd配置文件,需要用到手工启动:
启动:/usr/sbin/ftprestart
关闭:/usr/sbin/ftpshut
3.6.5 FTP服务器的配置
FTP服务器是一种很常用的服务功能,所以Linux在默认状态下会安装FTP服务器。在登录FTP服务器之前,必须先检查 /etc/xinetd.d/wu-ftpd这个文件的内容,用文本编辑器打开此文件。(将disable =yes 改为 ”no”)
为了确保FTP服务器安全,必须设置一些重要的配置文件,以更好地控制用户的访问权限。这些配置文件是:/etc/ftpusers、/etc/ftpconversions、/etc/ftp-groups、/etc/ftpphosts、/etc/ftpaccess。利用这些文件,能够非常精确地控制哪些人、在什么时间、从什么地点可以连接服务器,并且可以对他们连接后所做的工作进行检查跟踪。
/etc/ftpusers:该文件夹中包含的用户不能通过FTP登录服务器,有时将需要禁止的用户账号写入文件/etc/ftpuser中,这样就可以禁止一些用户使用FTP服务。
/etc/ftpconversions:用来配置压缩/解压缩程序。
/etc/ftpgroups:创建用户组,这个组中的成员预先定义可以访问FTP服务器。
/etc/ftpphosts:用来根据禁止或允许远程主机对特定账户的访问,例如:
allow zsx 192.168.12.33
deny zlc 192.168.12.34
表示允许zsx用户从192.168.12.33这个IP连线访问,拒绝zlc从192.168.12.34.这个
IP连线访问。
/etc/ftpaccess:是非常重要的一个配置文件,用来控制存取权限,文件中的每一行定义一个属性,并对属性的值进行设置。下面对它的一些常用配置做一点介绍:
1、定义用户类别
格式:class [类名] [real/guest/anonymous][IP地址]
功能:这个指令的功能设定FTP服务器上用户的类别。并可对客户端的IP地址进行限制,允许特定或者全部的IP地址访问FTP服务器。
2、登录重试次数
在命令行中输入:loginfails 10,这表明如果10次还没有登录成功就切断连线。
3、密码检查
格式:passwd-check〈strictness〉warn
是对匿名用户的密码使用方式的检查,其中strictness〉是三个可能的字符串之一:None、Trivial、RFC822。若选None,表示将不对口令做任何检查;若选Trivial,表示对口令有一定的要求,它需要在口令中至少要有一个@符号;若选RFC822,则表示最严格,要求E-mail地址必须遵守RFC822报文标题标准(如:ZLC@domain.com )。
例如:passwd-check rfc822 warn,表明密码的要求很严格,当密码不符合规定时出现
警告信息。
4、登录人数的限制
格式:limit [类别] [人数] [时间] [文件名]
设置指定类别在约定时间内可以登录FTP的人数。例如:limit remote
Any/etc/many.msg,说明类别Remote类别在任何时间内登录人数不超过20个人否则
会显示Many.msg警告信息。
合理运用这些配置,可以有效地保护好我们的服务器。
验证、安装、配置好FTP服务器后,就可以进行验证,用图形工具和命令行均可访
问FTP服务器。在Linux里最常用的命令为FTP,它提供了一个并不复杂的FTP服
务器接口。与FTP服务器连接,只需要在命令提示符后输入:FTP Servername,用主机名或希望连接的FTP服务器的IP地址代替Servername,按照提示输入用户名和口令,然后用标准的Linux上移或下移FTP服务器目录结构。另外,也可以采用图形化FTP程序,包括窗口式gFTP,可以借助Web浏览器去访问FTP服务器。以上是在Linux下进行FTP服务器配置的要点,另外还有一个很好的图形工具在linux7.2 中的 /开始/KDE菜单/系统/FTPD编辑器。这个可视的编辑器同样可以完成上述的各项功能。
3.7 Telnet远程管理
3.7.1 远程登录原理
利用telnet命令通过网络登录远程计算机,就好象在本地计算机操作一样。
但是用户必须知道远程计算机的网址或IP地址,以及帐号与密码。
3.7.2 安装Telnet 工具
双击安装程序t98setup.exe,Telnet是图形应用程序,它允许用户远程登录
到远程计算机并发布命令。该telnet 采用的协议是SSH-3DES。
3.7.3 启动telnet服务
自从Red Hat Linux 7.1半开始,默认并不会启用telnet 服务,因此任何人都不得登录到本机来。为了启动此向服务,用文本编辑器打开 /etc/xinetd.d/telnet 配置文件,并做以下的修改:
#default:on
…
service telnet
{
若disable = yes 将“yes” 改为no.
…
}
保存文件后,执行/etc/init.d/xinetd reload 命令重新载入配置文件,将立即启用telnet服务。但是,为了安全上的考虑,Linux系统默认并不允许以root帐号远程登录!