在阿里云CentOS 7服务器上配置并部署JavaSSM框架项目
环境配置
Docker
安装
1
# yum -y install docker
启动和关闭
1
2# sudo service docker start
# sudo service docker stop镜像加速
- 增加网易蜂巢的镜像
1
2
3
4
5
6
7# cd /etc/docker
# vim daemon.json
增加成
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
- 增加网易蜂巢的镜像
JDK
下载JDK
- cd到”/usr/local/tools/“ – Jdk路径为/usr/local/tools/jdk1.8
- 会出现直接wget拉下来的不是jdk文件而是简单的页面
- 怀疑是因为要在下载页面勾选同意Oracle有关规则才能下载
- 解决办法
- 本地下载然后同步到服务器
- 获取可用的下载链接然后在服务器上wget
1
2以下是可行链接,很明显带上了参数
# wget http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz?AuthParam=1523515932_e42f8ed4698c8cfb731bc04c03581fbc
给所有用户配置Java环境
用root用户登录
1
2
3
4
5
6
7# vim /etc/profile
按下insert,然后移动到最后一行,添加如下
#configuration java development enviroument
export JAVA_HOME=/usr/local/tools/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar给当前用户配置Java环境
1
2
3
4
5
6
7# vim ~/.bash_profile
按下insert,然后移动到最后一行,添加如下
#configuration java development enviroument
export JAVA_HOME=/usr/local/tools/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
退出重新登录,查看Java版本信息确定安装效果
1
# java -version
配置Tomcat
- 前往Tomcat的官网获取下载链接
- wget拉下来,然后解压
- 遇到的天坑 – 阿里云安全组设置
- 需要在阿里云控制台设置安全端口(入\出)
- 加入”8080/8080”端口
- 授权对象改为”0.0.0.0/0”
- 需要在阿里云控制台设置安全端口(入\出)
防火墙修改,增加端口
解决CentOS(6和7版本),/etc/sysconfig/下没有iptables的问题
- CentOS 7
- 停止firewalld
- 安装iptables-services
- 在引导时启用iptables服务
- 启动iptables服务
- 保存防火墙规则
- 其他管理
1
systemctl [stop|start|restart] iptables
修改iptables防火墙文件,增加端口
cd到系统配置
1
# cd /etc/sysconfig/
编辑iptables
1
2
3# vim iptables
增加8080端口(复制22端口整行,修改端口号为8080即可)重启iptables
- curl命令测试端口是否开放
1
# curl 127.0.0.1:8080
数据库
- 望周知
- CentOS 7开始使用MySQL的分支MariaDB
- 基本上可以认为一样
- 安装和配置
- CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置
- 使用yum下载安装
- 然后初始化账号密码
- 赋予账号权限和访问IP限制
- 字符编码
- CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置
- 服务器执行sql文件
- 确定文件位置,如”/root/xxshop.mysql”
- 进入数据库,创建database,设定格式
1
2
3
4
5# mysql -uroot -pmysql123
>create database xxshop;
>use xxshop;
>set names utf8;
>source /root/xxshop.sql
- 望周知
实战
xxshop项目在云服务器上跑起来
- 按以上配置好环境
本地上传文件到服务器
使用SSH服务的scp命令
1
2
3
4# scp a.txt root@127.0.0.1:/home/neo/test/b.txt
将当前目录下的a.txt文件上传到ssh服务器上test文件夹并改名为b.txt,其中SSH服务器网址为127.0.0.1,用户名root
# scp -r xxshop.war root@119.23.10.167:
上传到当前用户目录,如该IP中用户为root,"# cd /root/"即到上传目录上传数据库sql文件,然后执行
- 上传war包到Tomcat的webapps路径下
Tomcat修改配置文件
- 修改服务器配置文件
1
2
3<!-- Host标签内加上 -->
<Host><Context path="/" docBase="xxshop" unpackWARs="true" debug="0" privileged="true" reloadable="true" /></Host>
<!--这里使用的是相对路径,docBase的值是我们放到webapps文件夹下的war名称-->
- 修改服务器配置文件
然后根据云服务器IP在本地浏览器访问
一些小问题
CentOS下SSH登录local警告
- 设置了”默认地区_语言.字符集”为 “en_US.UTF-8”,但是在系统中没有定义这个问题
1
-bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory
- 设置了”默认地区_语言.字符集”为 “en_US.UTF-8”,但是在系统中没有定义这个问题
输入以下命令,然后重启
1
2
3
4
5
6
7
8# tee /etc/environment <<- 'EOF'
LANG=en_US.utf-8
LC_ALL=
EOF
# source /etc/environment
/* 生成 en_US.UTF-8 locale文件 CentOS没有locale-gen命令*/
# localedef -v -c -i en_US -f UTF-8 en_US.UTF-8