1、linux服务器上新建用户(用户名及密码)
如:创建用户tomcat08(需要root的权限来创建)
useradd tomcat08 -d /home/tomcat08
设置密码
passwd tomcat08
输入密码
注意:删除用户tomcat08的命令是:userdel tomcat08
2、给该用户相应目录所有者属主权限(需要root权限)
chown -R tomcat08.root /home/tomcat08-----》-R 指将其家目录/home/tomcat08目录及其子目录、文件属主都赋予该tomcat08用户,同时该目录及子目录、文件同属于root组。
chown -R tomcat08.root /labsoft/tomcat08----》该目录下准备部署新web项目
3、修改该用户对文件的读写权限
chmod 770 /home/tomcat08-----》该目录及子目录、文件的拥有者、所在组对该文件拥有读写可执行权限
chmod 770 /labsoft/tomcat08----》同上,所以可以使用tomcat08这个用户来启动该新部署的Web项目
注意:chmod -R 770 /home/tomcat08 ---->表示将该目录及该目录的所有子目录权限调整为770----感觉这两种都可给子目录赋权???
4、将Web项目的war包如Test.war包上传到相应的webapps下,重命名为ROOT.war,启动项目。
注意:如果不重命名为ROOT则访问时需要在添加该包名称如 http://localhost:8000/Test,如果重命名为了ROOT则访问如 http://localhost:8000/
服务启动后,访问不到时,可能是服务器上防火墙没有例外该服务端口号,需要添加例外、或者关闭防火墙。
(1)、war包不用自己手动解包,启动项目后,会自动解包,停止服务器后,再删除war包,否则当服务运行时,删除war包后,停止服务解压的ROOT也找不到了。
(2)、tomcat缓存可删除的有 logs、work、temp目录下的所有文件(停止服务后可彻底删除)。
(3)、如果部署的服务一直关闭不了,可以强制结束进程。
命令为:kill -9 pid(pid即服务进程号可以使用 /usr/sbin/lsof -i:8000 命令来查找其服务进程号,其中8000是服务的端口号 )。
(4)、新部署项目一般需要修改的文件:
1)、tomcat/bin/catalina.sh-----------》配置jdk目录、项目部署目录、tomcat内存、堆大小参数设置
如:export JAVA_HOME="/usr/java/jdk1.6.0_45"
export CATALINA_HOME="/labsoft/tomcat08"
export JAVA_OPTS="-server -Xms1024M -Xmx1064M -XX:PermSize=256M -XX:MaxPermSize=456M -XX:NewSize=128M -XX:SurvivorRatio=5 -Xss256k - XX:+AggressiveOpts -XX:+UseParallelGC -XX:+UseBiasedLocking -Xloggc:/labsoft/tomcat08/logs/gc.log"
2)、tomcat/conf/server.xml----------》配置服务端口号,注意默认端口号80时,只能使用root启动服务
如:里面几个端口的设置(如果一个服务器上安装了多个tomcat,则各个端口号不要重复了)
<Server port="8005" shutdown="SHUTDOWN">
<Connector port="8000" protocol="HTTP/1.1" maxThreads="1000" acceptCount="100" enableLookups="false" connectionTimeout="20000" minSpareThreads="25" maxSpareThreads="1000" redirectPort="8443"URIEncoding="UTF-8"/>
(这里设置的UTF-8是防止URL中?传参时汉字乱码)
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
3)、tomcat/webapps/ROOT/WEB-INF/classes/jdbc.properties---------》数据库连接、设置信息
如:数据库用户连接名及密码(数据库testdb、数据库可访问用户testuser、及其密码testuserpwd
datasource.url=jdbc\:mysql\://localhost\:3306/testdb?useUnicode\=true&characterEncoding\=UTF-8
datasource.username=testuser
datasource.password=testuserpwd
4)、tomcat/webapps/ROOT/WEB-INF/classes/log4j.properties----------》log输出等级、位置配置
(5)、防火墙相关命令(注意:关闭、启动防火墙需要root权限)
/sbin/service iptables status----------》查看服务器的防火墙是否关闭
/sbin/service iptables stop-------------》 关闭防火墙
/sbin/service iptables start-------------》启动防火墙
/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT----------------------》开启防火墙时,添加特定的例外端口命令(这里是例外掉8000端口)
注意:win7端口列外参见:http://jingyan.baidu.com/article/f96699bbadafca894f3c1b7a.html
5、具体步骤
(1)、安装jdk
1)、cd /
mkdir java
cd java
cp -rp /myinstallfile/jdk-6u21-linux-i586-rpm.bin ./ ------------------》myinstallfile/jdk-6u21-linux-i586-rpm.bin为jdk安装包
./jdk-6u21-linux-i586-rpm.bin
2)、配置环境变量-----一次性的,不建议使用
export JAVA_HOME=/usr/java/jdk1.6.0_21
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3)、查看环境变量的具体内容
echo $JAVA_HOME
echo $PATH
echo $CLASSPATH
4)、测试java环境是否正常
vi Test.java(编辑java文件)
public class Test{
public static void main(String[] args){
System.out.println("test ok");
}
}
javac Test.java(编译java文件)
java Test(运行编译好的java文件)
5)、linxu中jdk环境变量配置当前用户长久有效
cd ~
vi .bash_profile
文件调整后,执行source .bash_profile
echo $JAVA_HOME--->可以查看jdk家路径
echo $PATH
echo $CLASSPATH
调整如下图所示:
========================================================================================
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
JAVA_HOME=/usr/java/jdk1.6.0_45 #设置jdk家目录
export JAVA_HOME #添加到环境变量
PATH=$PATH:$JAVA_HOME/bin #设置path路径
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #设置并添加到环境变量
export PATH #添加到环境变量
========================================================================================
(2)、安装数据库如mysql及数据库还原、创建用户(linu上已经安装过yum源的)
1)、yum -y install mysql mysql-server mysql-devel-------》使用该命令安装mysql
2)、mysql --version----》可以查看安装的mysql版本信息
3)、mysql状态、启动、停止命令
service mysqld status
service mysqld start
service mysqld stop
或者
/etc/init.d/mysql start
/etc/init.d/mysql stop
注意:安装好后默认mysql的root密码为空
4)、修改mysql的root密码
linux终端 黑窗口中mysqladmin -u root password ‘新密码'
或者使用mysql -u root -p(新安装的mysql默认root密码为空的,所以输入密码时直接按Enter)
mysql>show databases;
mysql>use mysql;
mysql>select host,user,password from user;
mysql>update user set password=password('新密码') where user='root' and host='localhost';
mysql>flush privileges;
注意:当使用root登录mysql后,root用户不能查看到其他的数据库是root权限有问题,可以如下方式解决
打开一个终端,关闭mysql(service mysqld stop)
打开另外一个终端,进行mysql操作,在该情况下,可以看到所有数据库(mysql)
如上所示修改密码,或者权限
关闭这两个终端
重启mysql(service mysqld start)
|
etc/init.d/mysql stop (service mysqld stop )
/usr/bin/mysqld_safe --skip-grant-tables
另外开个SSH连接
[root@localhost ~]# mysql
mysql>use mysql
mysql>update user set password=password("123456") where user='bzk';
mysql>flush privileges;
mysql>exit;
5)、mysql配置注意点
mv /etc/my.cnf /etc/my_bak.cnf
cp -rp /usr/share/mysql/my_large.cnf /etc/my.cnf-------》防止整坏了
vi /etc/my.cnf(调整里面的有些设置,如下所示)
=============================================
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
default-character-set=utf8 ------》设置网页访问字符集,可能出现网页乱码
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer_size = 256M
max_allowed_packet = 32M -----》数据库还原时,大的插入或更新数据包过大而还原报错,这里需要调大,这里默认显示1M
table_open_cache = 256
sort_buffer_size = 4M
read_buffer_size = 6M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
#### add by mine ###
set-variable=max_connections=500
default-character-set=utf8
wait_timeout=31536000
lower_case_table_names=1 -------》这里设置为1表示sql进行查询时,语句不区分大小写,设置为0即区分大小写
init_connect='SET NAMES utf8'
log-bin=mysql-bin ----------》记录bin-log,日志记录
binlog_format=mixed
server-id = 1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[myisamchk]
key_buffer_size = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
=============================================
6)、创建数据库用户
注意:开远程可访问数据库用户时%(即将localhost替换为%时),只允许远程来访问,不能本机访问。如果这里是指定的ip,则利用该指定ip可以连接到该 数据库,如果既可以远程访问,又可以localhost访问,则给同一个用户赋两次权限。
1、使用root登录mysql创建数据库testdb
mysql> create database testdb;
2、新建可以访问该数据库的用户
mysql> grant all privileges on testdb.* totestuser@'localhost'identified by 'testuserpwd';------》允许用户testuser在本机访问testdb数据库
mysql> flush privileges;
3、另外的查看数据库用户信息
mysql>use mysql;
mysql>select host,user,password from user;
7)、还原数据库
mysql>use testdb;
mysql>source ./backup.sql;---------->需要还原的数据库备份sql,可以指定具体目录下的该sql
(3)、安装tomcat、部署项目
项目和数据库还原准备就绪后:
./labsoft/tomcat08/bin/startup.sh------------->启动新部署的项目
tail -f /labsoft/tomcat/logs/catalina.out------------->查看项目启动log信息,启动时是否报错