部署java项目到阿里云服务器(centos7版本)
转载请注明出处()
一、搭建环境
1、搭建java环境(64位)
一、准备压缩包,rpm包或者tar包,将其上传到阿里云对应的文件夹(我用的工具是WinSCP,百度一下就有下载资源)
二、若是rpm包,可以通过 rpm -ivh 包名 如 rpm -ivh jdk-8u101-linux-x64.rpm,来进行解压,
若是tar.gz形式,则可以通过tar -xzvf 包名,如 tar -xzvf jdk-8u151-linux-x64.tar.gz,
三、配置环境变量
打开环境配置文件,再在里面插入几行代码,如下
vi /etc/profile //打开配置文件命令 export JAVA_HOME=/usr/local/soft/jdk/jdk1.8 //jdk的路径 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

再保存退出,运行命令 source /etc/profile ,使这个文件生效
再在命令窗口。输入 java -version,出现如下也没,则成功,否则配置出错。

2、tomcat的搭建
一、下载tomcat包
二、解压包,如jdk一样。
三、启动tocmcat,执行bin目录下的startup.sh(注:若在bin目录下启动时tomcat,记得加./,否则会出现以下错误)

四、启动成功后,可以通过以下命令来查看启动日志。
tail -f logs/catalina.out -n //-n为要显示多少行数据 其中logs文件夹在tomcat文件下,和webapp目录同级
五、访问tomcat,在centos中命令行界面,可以通过下面命令来访问 tomcat
curl http://127.0.0.1:8080
若出现一大堆的html代码,则表明访问成功,
六、在windows环境进行访问
不能访问,则需要打开centos的防火墙配置,添加8080端口,命令如下
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
再次访问,即可成功。
三、搭建mysql环境
一、下载 mysql的rpm包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
若出现wget: 未找到命令,则安装wget, 命令 :yum -y install wget
二、本地安装rpm到linux系统
yum localinstall mysql57-community-release-el7-8.noarch.rpm
三、使用yum进行在线安装,需要联网
yum install mysql-community-server
若网速慢,则可以换一个yum源,如下(来源: http://blog.csdn.net/qq392039757/article/details/55511536)
1、备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、之后运行yum makecache生成缓存
若运行了出现/var/run/yum.pid 已被锁定,PID 为 1241 的另一个程序正在运行。则可以rm -f /var/run/yum.pid。
四、启动mysql服务
systemctl start mysqld,其中 start为启动,restart为重启,stop为停止。
五、查看临时密码用来登录
grep 'temporary password' /var/log/mysqld.log
六、修改密码
不然什么都用不了。修改密码如下
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
密码有规则,若密码不符合其规则,会报如下错误
Your password does not satisfy the current policy requirements
mysql5.7对密码有要求,必须有大小写字母,数字,特殊字符
若不适应该规则,可以通过修改/etc/my.cnf文件来改变密码规则,在[mysqld]下加入validate_password=off
再通过systemctl restart mysqld来重启mysql来保存设置,这时也得注意,要设置密码的的过期时间,直接运行命令
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
七、改变编码
可加入
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
character-set-server=utf8
同时也要记得重启mysql使之生效,systemctl restart mysqld,
八、在使用远程连接时,还要赋予权限
命令如下
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_root_password' WITH GRANT OPTION;
刷新权限:FLUSH PRIVILEGES;
九、在远程时连接遇到

此时应该要开放端口3306,命令如下
firewall-cmd --zone=public --add-port=3306/tcp --permanent
二、部署项目
方式一、
直接将本地项目打成war包,再通过工具将war包放到tomcat的webapp下,启动tomcat即可,
方式二、
在部署的项目的pom文件中加入以下代码
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<port>8080</port>
<path>/</path>
<url>http://ip:8080/manager/text</url>//ip为阿里云的公网ip
//用户名和密码随意填,但要和阿里云上的用户名和密码配对
<username>tomcat</username>
<password>tomcat</password>
</configuration>
</plugin>
</plugins>
</build>
之后,在阿里云上的tomcat文件夹下的conf/tomcat-users.xml 文件,通过vi命令打开,在<tomcat-users></tomcat-users>里添加如下内容
其中用户名和密码的值和上面的用户名密码相对应
<role rolename="manager-gui" />
<role rolename="manager-script" />
<user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/>
使用elipse,执行其命令运行(一定得开放8080端口)

若在控制台看到如下消息,即成功

三、tomcat启动遇到的问题
tomcat启动超慢的问题。
(以下内容转载自:http://blog.csdn.net/qq276726581/article/details/53790926)
A.使用伪随机函数生成器
/dev/unrandom /dev/urandom并不是真正的随机行为(其实一般不容易重复),主要有两个地方可以修改。
通过修改 Tomcat 启动文件 -Djava.security.egd=file:/dev/urandom
通过修改 JRE 中的 java.security 文件 securerandom.source=file:/dev/urandom
B.增大/dev/random的熵池(推荐)
问题的原因是由于熵池不够大,所以增大它是最彻底的方法。我们可以通过软件的方法实现,下面是软件的安装和配置流程。
安装熵服务
yum install rng-tools
启动熵服务
systemctl start rngd
如果你的 CPU 不支持 DRNG 特性或者像我一样使用虚拟机,可以使用/dev/unrandom来模拟。
cp /usr/lib/systemd/system/rngd.service /etc/systemd/system
vim /etc/systemd/system/rngd.service
#以下是编辑内容
ExecStart=/sbin/rngd -f -r /dev/urandom
重新载入服务
systemctl daemon-reload
systemctl restart rngd
经过上面的修改,我们再观察 cat /proc/sys/kernel/random/entropy_avail 基本上在 3000 左右。这个时候重新启动 Tomcat,发现启动时间正常
以上就是部署项目的过程,若有不足之处,望指正
部署java项目到阿里云服务器(centos7版本)的更多相关文章
- 部署Java项目到阿里云服务器(Ubuntu16.04 64位)
生成Jar包 1.进入到项目所在的路径下,打开cmd命令控制台,使用如下命令打包项目. mvn package --前提将项目中使用的maven配置到系统的环境变量中 2.打包完成的jar包在项目目录 ...
- 部署vue项目到阿里云服务器(Ubuntu16.04 64位)
上传文件 1.通过Xftp将vue项目文件上传至云服务器:由于node_modules这个依赖包体积较大,上传较慢,上传时跳过,在云服务器上重新进行npm install安装依赖包即可: 2.也可通过 ...
- 部署Java项目到阿里云服务器主机
https://m.aliyun.com/jiaocheng/548684.html https://blog.csdn.net/qq_30865575/article/details/7827329 ...
- 阿里云服务器centos7环境下安装xampp后,mysql有进程,但是却没有监听3306端口
配置阿里云服务器centos7中xampp环境时出现了一种情况: 在centos中可以使用命令进入mysql 修改后也可以远程用phpmyadmin连接mysql 但是用navicat却无法连接 先修 ...
- laravel项目使用appnode部署linux系统到阿里云服务器流程记录(待补充)
使用 SSH 连接工具,如 PuTTY.XShell.SecureCRT 等,连接 Linux 服务器后(阿里云服务器命令行内直接输入appnode安装命令,版本:mysql选5.7.php选7.2) ...
- idea使用Deployment部署项目到阿里云服务器的全过程
一.前言 之前玩了一下 Alibaba Cloud Toolkit 一键部署插件 这里顺便再提一下idea原生的Deployment自动部署项目吧,该功能也很强大,也不需要离开idea就可以直接将项目 ...
- 阿里云服务器 centos7 中继邮箱+转发服务 详细配置
阿里云centos7 邮箱转发服务配置 一.文档编写目的: 网络拓扑图: 阿里云服务器屏蔽掉25端口后,内网服务器如何通过跳板机发送邮件到外网邮箱. 如果是可联网的阿里云机器,可以直接配置mailx使 ...
- 阿里云服务器Centos7.4开放80端口的记录
问题: 阿里云服务器安装的是centos7, 搭建网站安装lnmp1.5后发现访问不了, 不明所以, 在一论坛找到关于80端口未开放的原因. 需求: 开放80端口.于是有了下面第一,二,三部分关于开放 ...
- 阿里云服务器CentOS7.5安装RabbitMQ
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件).RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的. 为什么 ...
随机推荐
- AsyncLocal的运作机制和陷阱
这是今天帮柠檬分析一个AsyncLocal相关的问题时发现的. 试想这个代码输出的值是多少? using System; using System.Threading; using System.Th ...
- Influxdb1.2.2安装
一.文件准备 1.1 文件名称 influxdb-1.2.2.x86_64.rpm 1.2 下载地址 https://portal.influxdata.com/downloads [注意.注意.注意 ...
- 39.Linux应用调试-strace命令
1.strace简介 strace常用来跟踪进程执行时的系统调用和所接收的信号.通过strace可以知道应用程序打开了哪些文件,以及读写了什么内容,包括消耗的时间以及返回值等 2.安装strace命令 ...
- 小白的Python之路 day3 函数式编程,高阶函数
函数式编程介绍 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的 ...
- iOS 数据储存--SQLite 操作数据库-FMDB,sqlite数据类型,保存图片,demo
1.SQLite 语句中 数据类型的储存 /* 不区分大小写 char(长度).字符串 NULL. 空值 INTEGER. 整型 REAL.浮点型 TEXT.文本类型 BLOB. 二进制类型,用来存储 ...
- spring-struts2-mybatis-maven 转账开发记录
最近写一个转账需求向外提供接口,用的是spring+struts2+maven 方式,数据库是oracle.我先新建maven类,然后引入spring相关jar包和mybatis包,配置s ...
- ArcGIS 网络分析[1.2] 利用1.1的线shp创建网络数据集/并简单试验最佳路径
上篇已经创建好了线数据(shp文件格式)链接:点我 这篇将基于此shp线数据创建网络数据集. 在此说明:shp数据的网络数据集仅支持单一线数据,也就是说基于shp文件的网络数据集,只能有一个shp线文 ...
- Docker(五):Docker高级网络配置
1.容器跨主机多子网方案 网络设计如下: 主机1:10.110.52.38 容器1: 192.168.0.1 vlan1 容器2: 192.168.0.2 vlan2 主机2:10.110.52.66 ...
- zepto的返回顶部scrollTop的动画解决方法
写移动端的时候,引入的zepto.js里的animate不包括scrollTop,所以返回顶部的时候,没有动画的效果.这里我使用的是setInterval的方法.代码详情如下 <!DOCTYPE ...
- java小技术之生成二维码
把我们需要的链接或者内容生成二维码其实是一件非常容易的事情,有很多办法可以实现,这里我们采用JS方法生成. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTM ...