零基础在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项目的问题,一路上遇到了好多坑,在成功部署上去之后写一下部署的步骤与过程,一是帮助自己总结记忆, ...
随机推荐
- iOS之美: UIView 与 UIWindow之间的关系
转自:http://leopard168.blog.163.com/blog/static/168471844201381584533466/ 面对iOS初学者,总会被问到一些不常被关注的问题,比如: ...
- JAVA数字特征值
数字特征值(5分) 题目内容: 对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值.对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推.这个整数在第n位上的数字记作x, ...
- C strlen vs sizeof
strlen是函数. sizeof是操作符..以下一个简单的程序说明这件事: #include <iostream> #include <string.h> using nam ...
- HTTP协议 - 协议格式
HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展.目前在WWW中使用的是HTTP/1.0 ...
- Struts2初学 Struts.xml详解二
A.使用继承实现设置全局视图 package节点中还可以设置全局的视图,如: <global-results> <result name="e ...
- 模拟元素的title属性,自定义Vue指令
function showTitle(el, title) { const popover = getPopover() const popoverStyle = popover.style if ( ...
- Spring Oauth2 with JWT Sample
https://www.javacodegeeks.com/2016/04/spring-oauth2-jwt-sample.html ******************************** ...
- LinkQ 组合查询与分页
1.以开头查 public List<Car> Select1(string a){ return con.Car.Where(r => r.Name.StartsWith(a)). ...
- MapReduce编程实例5
前提准备: 1.hadoop安装运行正常.Hadoop安装配置请参考:Ubuntu下 Hadoop 1.2.1 配置安装 2.集成开发环境正常.集成开发环境配置请参考 :Ubuntu 搭建Hadoop ...
- PHP——连接数据库初
<?php //1.生成连接 造连接对象 //$db=new mysqli($dbhost(服务器),$username,$userpass,$dbdatabase); $db = new my ...