零基础在Linux服务器上部署javaweb项目
本教程使用的工具下载链接:http://pan.baidu.com/s/1sl1qz2P 密码:43pj
一.安装JDK
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
三.Javaweb应用的部署
把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;
零基础在Linux服务器上部署javaweb项目的更多相关文章
- linux服务器上部署springboot项目,并让他持续运行到后台
我们知道在运行springboot 项目只需要java -jar + 项目的war包(jar包)名. 但是只要终端已停止那么服务就会被关闭,也就无法访问到我们的项目了.所以我们可以使用守护进程的方式来 ...
- centos服务器上部署javaweb项目(转)
本文总体参照http://blog.csdn.net/u011019141(然后更据自己情况进行更改) 一.安装JDK 1.首先要查看服务器的系统版本,是32位还是64位 #getconf LONG_ ...
- 在Linux服务器上部署node项目(git部署,forever持续运行,配置SSL证书)
一.环境部署 1.下载安装包: wget https://nodejs.org/dist/v9.9.0/node-v9.9.0-linux-x64.tar.xz 2.解压并进入目录: xz -d no ...
- 如何在Linux服务器上部署禅道
最近换了新的项目团队,由于新团队比较年轻化,没有实行正规的项目管理,于是我自告奋勇要为团队管理出一份力,帮助团队建立敏捷化的项目管理,经过多方考究和对比后,选择了目前较受欢迎的开源项目管理软件:禅道. ...
- Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包
Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包 >>>>>>>>>>>& ...
- linux服务器上部署项目,同时运行两个或多个tomcat
在阿里云服务器上部署项目的时候,想使用阿里云提供的负载均衡服务并创建两个监听(如图), 但需要一台服务器提供两个端口,于是就请教前辈并查询资料,得知: 一台服务器提供两个端口,有两种方式: 1.一个t ...
- Django项目在Linux服务器上部署和躺过的坑
引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...
- 如何在Linux服务器上部署Mysql
一.安装mysql 1.通过文件上传工具,将mysql安装包上传到linux服务器上 2.卸载mariadb包,由于系统中存在mariadb包会导致mysql安装时报错mariadb-libs被mys ...
- 在腾讯云&阿里云上部署JavaWeb项目(Tomcat+MySQL)
之前做项目都是在本地跑,最近遇到需要在在云服务器(阿里云或者腾讯云都可以,差不多)上部署Java Web项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆, ...
随机推荐
- jae的mongo数据库管理工具(原创)
园里前段时间有人介绍了京东的jae,申请了试用了一下,各种坑,勉强可以测试用用. jae一直没有Mongo数据库的管理工具,没办法,自己写了一个凑合着先用着. 使用方法: 1.修改配置:下载后面的程序 ...
- What is purpose of @ConditionalOnProperty annotation?
http://stackoverflow.com/questions/26394778/what-is-purpose-of-conditionalonproperty-annotation **** ...
- Python|PyCharm安装scrapy包
[转]http://www.cnblogs.com/xiaoli2018/p/4566639.html
- Eclipse4.4 安装java反编译插件Eclipse Class Decompiler
一.在线安装方式: Eclipse Class Decompiler整合了眼下最好的2个Java反编译工具Jad和JD-Core,而且和Eclipse Class Viewer无缝集成.可以非常方便的 ...
- [boostrap]debian下为arm创建debian和emdebian文件系统
转自:http://www.cnblogs.com/qiaoqiao2003/p/3738552.html Debian系统本身包含对arm的支持,其包含的软件包最多,但是最终的文件系统要大一些. e ...
- [内核]Linux UserSpace和Kernel之间如何联系
转自:http://blog.csdn.net/dreaming_my_dreams/article/details/8272586 应用层和驱动的衔接,一直是一个老大难问题,若弄不清楚,总觉得驱动写 ...
- 缓存技术PK:选择Memcached还是Redis(转)
[IT168 技术]要Memcached还是要Redis?在构建一款现代且由数据库驱动的Web应用程序并希望使其拥有更为出色的性能表现时,这个问题总会时不时出现.并给每一位开发人员带来困扰.在考虑对应 ...
- easyui datagrid columns 如何取得json 内嵌对象(many-to-one POJO class)
http://www.iteye.com/problems/44119 http://hi.baidu.com/lapson_85/item/7733586e60b08500a1cf0f8d ———— ...
- Mybatis实现了接口绑定,使用更加方便。
1.Mybatis实现了接口绑定,使用更加方便. 在ibatis2.x中我们需要在DAO的实现类中指定具体对应哪个xml映射文件, 而Mybatis实现了DAO接口与xml映射文件的绑定,自动为我们生 ...
- [转载]Jenkins持续集成项目搭建与实践——基于Python Selenium自动化测试 -2
自己的代码 import unittest # import HTMLTestRunner_cn as HTMLTestRunner import xmlrunner import sys sys.p ...