腾讯云服务器配置jdk和tomcat,并部署web项目到Tomcat

腾讯云服务器CentOS安装JDK+Tomcat+MySQL详细步骤(以及遇到的各种坑)

前言

趁着学生期间,买了一个云服务器拿来自己练练手,刚配置一个环境就让自己各种无语,把自己配置的步骤和遇到的问题整理一下。

安装过程:

安装JDK

看了很多资料,都推荐用Oracle JDK,避免Open JDK。因此,这里避免以后出现问题,推荐用Oracle JDK。

安装方式:rpm安装 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

将下载好的安装包上传到云服务器/usr/local文件夹

scp /Users/leelom/Downloads/jdk-7u79-linux-x64.rpm [email protected]:/usr/local

安装JDK

rpm -ivh jdk-7u79-linux-x64.rpm

验证安装信息

java javac javac -version

Paste_Image.png

注意:在没有配置环境变量的情况下,可以正常执行java/jacac等命令。因此没有进行环境变量的配置。

可能你需要用到。

#修改系统环境变量文件 vi /etc/profile #添加以下文档 JAVA_HOME=/usr/java/jdk1.7.0 JRE_HOME=/usr/java/jdk1.7.0/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH

2、安装Tomcat

类似的步骤向上:下载Tomcat + 将Tomcat上传到云服务器/usr/local/文件夹

tar -zxf apache-tomcat-7.0.70.tar.gz

mv apache-tomcat-7.0.70.tar.gz tomcat

3、安装MYSQL

检测系统是否自带mysql

# yum list installed | grep mysql

另一篇文章: 腾讯云centOS7.4上安装mysql 遇到的坑

4、见证成果的时候

启动tomcat

/usr/local/tomcat/bin/startup.sh

浏览器访问Tomcat: 【公网ip:端口号】 例如我的:123.*..**:8080

几个小问题

1、

ssh连接远程服务器

ssh username@ip_address -p port ssh -q -l [云服务器登录账号] -p 22 [云服务器的公网IP] e.g ssh root@***.***.**.** ssh -q -l root -p 22 ***.***.**.**

2、切换阿里源

对于CentOS 6

#第一步 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo #第二步 yum clean all yum makecache

一些坑

1、Tomcat启动之后,访问被拒绝。并且重启服务器报错。

确认:已经启动了Tomcat服务。

Paste_Image.png

可能原因:网上资料介绍了一大堆。防火墙问题,端口问题,Tomcat配置问题等等。最后我通过如下方法解决了。但是具体原因还是不知。

1、查看进程

ps aux |grep tomcat 2. kill结束进程 kill 3237

3. 重启tomcat /usr/local/tomcat/bin/startup.sh

查看进程

2、数据库问题

问题描述:数据库安装好后,使用相关命令均出现错误 命令描述:

mysql -u root -p mysql ...

报错:

[ERROR 1045(28000) : Access denied for user 'root@localhost' (using password: no )](http://askubuntu.com/questions/401449/error-104528000-access-denied-for-user-rootlocalhost-using-password-No)

[ERROR 1045(28000) : Access denied for user 'root@localhost' (using password: no )](http://askubuntu.com/questions/401449/error-104528000-access-denied-for-user-rootlocalhost-using-password-Yes)

解决方法:

这里先推荐一个很好答案,虽然没有解决我的问题,但是有可能解决你的问题。 Stackoverflow(https://stackoverflow.com/questions/10299148/mysql-error-1045-28000-access-denied-for-user-billlocalhost-using-passw)。

我安装的mysql版本 Server version: 5.7.15 MySQL Community Server 。在安装过程中并没有出现任何提示我加入用户和输入密码的环节。搜了一大堆资料发现,其root用户的密码是随机生成的!

而且在/var/log/mysqld.log可以看到

问题描述:修改密码发现,不符合规定

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解决办法:

先按要求修改密码,然后将密码规则设置为低。

修改密码部分的省略~按要求先修改一个复杂的。

SET GLOBAL validate_password_policy=LOW;

以上是转载的!

实际配置遇到的问题:

1.springboot 打包成war文件,不是jar文件

2.打包的项目在本地运行是正常的,但是放进tomcat,重启tomcat后访问url找不到项目。

解决:直接进入Linux主机 /usr/local/tomcat/下 执行命令java -jar sell-0.0.1-SNAPSHOT.jar 启动成功。

输入地址栏http://***112.208:8080/sell/buyer/product/list 访问成功

后续更新:

发现上面的启动方法:java -jar sell.war 只是通过java命令启动了程序,一退出程序就停止了。

还是要把程序放在tomcat中运行才比较好。下面是springboot项目放在tomcat中运行遇到的坑 :

springboot项目放在tomcat是需要改些东西的:

1.pom.xml中配置这些东西防止springboot内置的东西和tomcat冲突

         <!--springboot-web依赖这里,去除内嵌tomcat的依赖-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
			<!-- 移除嵌入式tomcat插件 -->
			<exclusions>
				<exclusion>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-starter-tomcat</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<!-- 排除springboot内置tomcat容器的SpringBootServletInitializer接口需要依赖     
        javax.servlet -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>

2.主类改写添加web.xml入口 

public class SellApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(SellApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(SellApplication.class, args);
    }

}

遇到的坑:配置好后运行一直报:SEVERE: Error during ServletContainerInitializer processing javax.servlet.ServletException: Failed to instantiate WebApplicationInitializer class鬼错误.中间有一次是运行成功了的,后面又报这个错

解决办法:最后我在用maven打包war的时候,先clean一下,然后就不报错了,问题解决.坑人,搞到半夜.

INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
oct 19, 2015 2:25:36 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error during ServletContainerInitializer processing
javax.servlet.ServletException: Failed to instantiate WebApplicationInitializer class

第一个自己搭的云服务器,自己建的网站成功!

猜你喜欢

转载自blog.csdn.net/sifanlook/article/details/88895648