部署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语言编写的,而集群和故障转移是构建在开放电信平台框架上的. 为什么 ...
随机推荐
- Platt SMO 和遗传算法优化 SVM
机器学习算法实践:Platt SMO 和遗传算法优化 SVM 之前实现了简单的SMO算法来优化SVM的对偶问题,其中在选取α的时候使用的是两重循环通过完全随机的方式选取,具体的实现参考<机器学习 ...
- BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)
BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)
- JavaScript及jQuery中的各种宽高属性图解
文/poetries(简书作者)原文链接:http://www.jianshu.com/p/60332df38393 著作权归作者所有,转载请联系作者获得授权, 并标注“简书作者”. 作者声明:本 ...
- 豹哥嵌入式讲堂:ARM开发中有用的文件(1)- source文件
大家好,我是豹哥,猎豹的豹,犀利哥的哥.今天豹哥给大家讲的是嵌入式开发里的source文件种类. 众所周知,嵌入式开发属于偏底层的开发,主要编程语言是C和汇编.所以本文要讲的source文件主要指的就 ...
- lambda表达式不使用委托(delegate) 用FUNC
lLambda不使用delegate关键字,而使用 Lambda运算符 => goes to l 1.Func<int,string> getInput = (int age ...
- Golang 中的坑 一
Golang 中的坑 短变量声明 Short variable declarations 考虑如下代码: package main import ( "errors" " ...
- 通过 kms 激活 office 2016
1.管理员模式打开cmd,并切换到office的安装路径 注:office2016默认安装在C:\Program Files\Microsoft Office\Office16,激活其他office自 ...
- FPGA浮点数定点化
因为在普通的fpga芯片里面,寄存器只可以表示无符号型,不可以表示小数,所以在计算比较精确的数值时,就需要做一些处理,不过在altera在Arria 10 中增加了硬核浮点DSP模块,这样更加适合硬件 ...
- jquery图片延迟加载 及 serializeArray、serialize用法记录
1.使用jquery实现 图片延迟加载 由于用户访问页面需要加载很多的图片,延迟加载技术在电子商务网站领域越来越普及,淘宝商城,京东商城,凡客等访问量巨大的电子商务站点为了增加用户用户体验,访问速度以 ...
- C# 防止同时调用=========使用读写锁三行代码简单解决多线程并发的问题
http://www.jb51.net/article/99718.htm 本文主要介绍了C#使用读写锁三行代码简单解决多线程并发写入文件时提示"文件正在由另一进程使用,因此该进程无 ...