零基础在Linux服务器上部署javaweb项目

时间:2022-09-17 15:07:18

本教程使用的工具下载链接:http://pan.baidu.com/s/1sl1qz2P 密码:43pj


一.安装JDK(jdk1.9安装请点击进入

1、首先要查看服务器的系统版本,是32位还是64位

#getconf LONG_BIT
64

2、下载64位版本的jdk

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

版本:jdk-8u91-linux-x64.rpm

3、使用ftp工具如FileZilla,xftp,winscp,将下载好的文件传到服务器上,我是传到了home文件夹

4、查看当前有没有安装jdk

#rpm -qa |grep jdk
jdk-1.7.0_65-fcs.i586

?
#rpm -qa |grep jdk
jdk-1.7.0_65-fcs.i586
?

如果有就移除

#rpm -e jdk-1.7.0_65-fcs.i586

5、输入安装命令,无须赋予权限,可以直接执行

#rpm -ivh /home/jdk-8u91-linux-x64.rpm
6、设置环境变量(在文件末尾加入)

#vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_91
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH

wq 保存文件并退出vi 

7、输入命令检查是否已经安装设置好(无须重启服务器)

#java -version
#java
#javac

二.Tomcat的配置部署

1、下载tomcat

选择core下面的tar.gz包下载

2、上传和安装

我是把上传的软件都放在了home文件夹,解压即可实现安装,安装目录我放在了/usr/local下面

#tar -zxvf apache-tomcat-8.0.33.tar.gz //解压文件   或者:tar xvf apache-tomcat-8.0.33.tar.gz
#cp -R apache-tomcat-8.0.33 /usr/local/tomcat //移动和重命名
3、进入目录cd /usr/local/tomcat/bin/,启动和测试Tomcat
#./startup.sh  //在tomcat的bin目录下执行此命令,显示下面的信息
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.7.0_67
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

测试:访问http://ip:8080,查看是否成功,如果不成功,检查端口情况

#netstat -ano|grep 8080

如果端口被占用,可以修改/conf/server.xml 里的端口号

用./stratup.sh启动看不到详细的日志信息,如果想看详细信息,可以用./catalina.sh run启动,就可以像中一样查看启动信息了

4、在/usr/local/tomcat/bin下有可执行程序
启动tomcat #  ./startup.sh
关闭tomcat #  ./shutdown.sh

5、查看Tomcat是否启动

# ps -ef |grep tomcat

如果返回类似以下信息说明tomcat没有启动

502 19258 8770 0 7:14下午 ttys000 0:00.01 grep tomcat
如果返回类似以下信息出现,说明tomcat是启动了,第一个是启动该进程的用户,第二个是该进程的id,第三个 是占用CPU的百分比,
第四个是占用内存的百分比

root      2078     1 33 09:32 pts/0    00:00:01 /usr/java/jdk1.8.0_91/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
root 2091 2019 0 09:32 pts/0 00:00:00 grep --color=auto tomcat

6、设置tomcat开机启动的方法
1、修改/etc/rc.d/rc.local
vi /etc/rc.d/rc.local
2、添加下面两行脚本,记住是两行,仅仅第二行不行,必须加第一行。

在/etc/rc.d/rc.local文件最后加上

export JAVA_HOME=/usr/java/jdk1.8.0_91
/usr/local/tomcat/bin/startup.sh start
说明:/usr/java/jdk1.8.0_91 是jdk安装目录
/usr/local/tomcat 是tomcat安装的目录
3、注意,进入/etc/rc.d修改rc.local文件为可执行,如: chmod +x rc.local

三.java web应用的部署

把web应用在eclipse里面export成war包文件并复制到tomcat/wabapps目录下
将被引用的项目的文件夹也考到tomcat/wabapps目录下
关闭后再次启动tomcat
访问时输入http://ip地址:8080/war文件名称/....
例如war文件名为wapinfo.war
则输入http://ip地址:8080/wapinfo/....
进行访问


四.mysql数据库的安装和配置方法二:请转至http://blog.csdn.net/u011019141/article/details/70925749查看

1、下载数据库软件

地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads

我这里因为是64位的操作系统,所以选择下载如下rpm包:

MySQL-server-5.6.30-1.linux_glibc2.5.x86_64.rpm

MySQL-client-5.6.30-1.linux_glibc2.5.x86_64.rpm

MySQL-devel-5.6.30-1.linux_glibc2.5.x86_64.rpm

2、将这些rpm包通过FileZilla上传到Linux服务器的某个目录,例如:/usr/local/mysql。

3、在路径/usr/local/mysql下使用如下命令开始安装MySQL服务器:

rpm -ivh MySQL-server-5.6.30-1.linux_glibc2.5.x86_64.rpm
4、 服务端安装完成后,使用如下命令安装 MySQL 客户端,命令如下:
rpm -ivh MySQL-client-5.6.30-1.linux_glibc2.5.x86_64.rpm
5、 接着安装 MySQL-devel-5.6.30-1.linux_glibc2.5.x86_64.rpm ,命令如下:

rpm -ivh MySQL-devel-5.6.30-1.linux_glibc2.5.x86_64.rpm
6、 安装完成后 mysql 是没有启动的,运行 mysql 命令会提示如下错误:

[root@AY130221101729bc93912 software]# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
可使用如下命令启动 MySQL

service mysql start
或者使用如下命令:

/etc/init.d/mysql start

7、这样确定MySQL已经安装成功服务已启动

MySQL安装成功后,修改初始密码(网上说没有初始密码,但是我的有,忘记保存在哪个文件里了)
先stop你的myslq服务,service mysql stop或者  /etc/init.d/mysqld stop

(1).  若没有root权限,这种情况下,我们可以采用类似安全模式的方法修改初始密码
先执行命令  mysqld_safe --skip-grant-tables &   (设置成安全模式)
&,表示在后台运行,不再后台运行的话,就再打开一个终端咯。
# mysql
mysql> use mysql;
mysql> UPDATE user SET password=password("test123") WHERE user='root';    (会提示修改成功query ok)
mysql> flush privileges;
mysql> exit;
(2). 在mysql系统外,使用mysqladmin
# mysqladmin -u root -p password "test123"
Enter password: 【输入原来的密码】
(3). 可以登录mysql系统的情况下,通过登录mysql系统修改
# mysql -uroot -p
Enter password: 【输入原来的密码】
mysql>use mysql;
mysql> update user set password=passworD("test") where user='root';
mysql> flush privileges;
mysql> exit; 


【修改数据库编码】修改mysql配置文件
vi /etc/my.cnf #根据个人配置找到相应文件
#在[client]段增加下面代码
default-character-set=utf8
#在[mysqld]段增加下面的代码
#default-storage-engine=INNODB #置默认存储引擎为InnoDB,此处可不必添加
character-set-server=utf8
collation-server=utf8_general_ci
:wq! #保存退出


================================================================================================================

1、Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写;
2、用root帐号登录后,在/etc/my.cnf中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务,这时已设置成功:不区分表名的大小写;
lower_case_table_names参数详解:
lower_case_table_names=0
其中0:区分大小写,1:不区分大小写


MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:
1、数据库名与表名是严格区分大小写的;
2、表的别名是严格区分大小写的;
3、列名与列的别名在所有的情况下均是忽略大小写的;
4、变量名也是严格区分大小写的;
MySQL在Windows下都不区分大小写。

==================================================================================================================


8、 设置开机自启动的方法有很多,例如使用 chkconfig 命令,另外也可以在 /etc/rc.local 文件中加上如下 MySQL 的启动命令,例如:

/etc/init.d/mysql start


===============================================================================================

创建远程登陆用户并授权,在mysql的命令提示行输入以下命令:

mysql > use mysql;
mysql > grant all PRIVILEGES on discuz.* to ted@'123.123.123.123' identified by '123456';
mysql > exit;


 
 上面的语句表示将 discuz 数据库的所有权限授权给 ted 这个用户,允许 ted 用户在 123.123.123.123 这个 IP 进行远程登陆,并设置 ted 用户的密码为 123456 。 
 

all PRIVILEGES 表示赋予所有的权限给指定用户,这里也可以替换为赋予某一具体的权限,例如:select,insert,update,delete,create,drop 等,具体权限间用“,”半角逗号分隔。

discuz.* 表示上面的权限是针对于哪个表的,discuz 指的是数据库,后面的 * 表示对于所有的表,由此可以推理出:对于全部数据库的全部表授权为“*.*”,对于某一数据库的全部表授权为“数据库名.*”,对于某一数据库的某一表授 权为“数据库名.表名”。

ted 表示你要给哪个用户授权,这个用户可以是存在的用户,也可以是不存在的用户。

123.123.123.123 表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。

123456 为用户的密码。

如:grant all PRIVILEGES on *.* to root@'%' identified by '1'; 

执行了上面的语句后,再执行下面的语句,方可立即生效。

flush privileges ;

                                                                  ----by:songfayuan 2016-04-29 零基础在Linux服务器上部署javaweb项目