项目部署到Linux服务器上 (全)
1.服务器准备
首先你需要购买一台云服务器 我是领取的阿里云的服务器
选择linux系统
设置好 服务器的密码 忘记可以在
控制台首页 云服务器ECS 里面找到购买的实例 管理 重置实例密码
我使用Xshell远程工具 进行连接
2.JAVA环境的安装
安装好java环境
-
创建java目录 (通过yum安装则不需要 直接看第二步)
在根 目录下 创建叫tools的目录
返回根目录
cd ..
创建tools文件夹
mkdir tools
-
下载java安装包
下载之前先进行清理
有两种方式
第一种 通过yum安装:
-
查看可安装版本
yum -y list java*
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7UtBfqlA-1588761887473)(E:%5CTporaPhoto%5C1588756238343.png)]
-
选择你要安装的版本
这里选择安装 java-1.8.0-openjdk-devel.x86_64
_64结尾的是64位的
要选择-devel的安装,因为这个安装的是jdk,而那个不带-devel的安装完了其实是jre。
-
安装
yum install -y java-1.8.0-openjdk-devel.x86_64
默认安装到 /usr/lib/jvm 里面
第二种 从官网下载安装:
-
从官网下载包安装jdk
http://www.oracle.com/technetwork/java/javase/downloads
选择你需要的版本
这里下载的是
jdk-8u131-linux-x64.tar.gz
-
上传到linux服务器上
使用WinSCP将下载的上传到服务器tools目录中
进入tools目录
执行
tar zxvf jdk-8u131-linux-x64.tar.gz
解压 得到 jdk1``.8.0_131文件夹
重命名 方便配置
mv jdk1.8.0_131 jdk1.8
-
配置环境变量
打开环境变量配置文件
vi /etc/profile
在末尾输入以下信息配置环境变量 按insert进入编辑模式
JAVA_HOME=/tools/jdk1.8 JRE_HOME=$JAVA_HOME/jre PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export JRE_HOME export PATH export CLASSPATH
按esc 输入:wq退出
输入一下指令是配置文件生效
source /etc/profile
-
3.MySQL的安装
进入mysql 官网 找到mysql的yum仓库
https://dev.mysql.com/downloads/repo/yum/
我们服务器是redhat 7 内核 的 找到对应的下载链接 复制链接
7内核的是 https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
使用一下命令加载
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
ls
就能在列表看到
mysql80-community-release-el7-3.noarch.rpm
然后下载
yum install mysql80-community-release-el7-3.noarch.rpm -y
执行
yum repolist|grep mysql
可以看到有mysql的yum仓库
这时候默认的是mysql8的
执行
yum repolist all|grep mysql
看到了列表
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community disabled
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - disabled
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community disabled
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - disabled
mysql-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Community disabled
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Community - disabled
mysql-connectors-community/x86_64 MySQL Connectors Community enabled: 153
mysql-connectors-community-source MySQL Connectors Community - disabled
mysql-tools-community/x86_64 MySQL Tools Community enabled: 110
mysql-tools-community-source MySQL Tools Community - Sourc disabled
mysql-tools-preview/x86_64 MySQL Tools Preview disabled
mysql-tools-preview-source MySQL Tools Preview - Source disabled
mysql55-community/x86_64 MySQL 5.5 Community Server disabled
mysql55-community-source MySQL 5.5 Community Server - disabled
mysql56-community/x86_64 MySQL 5.6 Community Server disabled
mysql56-community-source MySQL 5.6 Community Server - disabled
mysql57-community/x86_64 MySQL 5.7 Community Server disabled
mysql57-community-source MySQL 5.7 Community Server - disabled
mysql80-community/x86_64 MySQL 8.0 Community Server enabled: 145
mysql80-community-source MySQL 8.0 Community Server - disabled
我们想让他默认使用5.7 而不是 8.0
我们得先安装一个工具
yum install yum-utils -y
进行安装
安装完后
关闭 上表开启的实例
mysql80-community/x86_64 MySQL 8.0 Community Server enabled: 145
yum-config-manager --disabe mysql80-community
再次查询
yum repolist all|grep mysql
可看到关闭了
然后再开启 5.7版本的实例
yum-config-manager --enable mysql57-community
然后开始进行mysql数据库的安装
yum install mysql-community-server -y
进行了mysql 5.7的安装
然后使用
systemctl start mysqld
启动
然后可以通过
systemctl status mysqld
查看状态
可以通过
ps -ef|grep mysqld
查看mysql的进程
安装会有默认密码
使用
cat /var/log/mysql.log
里面
找到
root@localhost: 后面的就是密码
登录mysql
mysql -uroot -p
输入密码
然后更改原本的密码
alter user 'root'@localhost idebtified by '你的密码';
然后退出
就可以了
关闭密码过期时间
-
登录 查询root用户
mysql -u root -p > use mysql > select * from mysql.user where user='root' ;
-
修改root用户的密码不过期
> update user set password_expired='N' where user='root'; > flush privileges; > quit
-
重启mysql
service mysql restart
外网访问数据库
Mysql数据库的修改
mysql -u root -p
Enter password:
grant all privileges on *.* to admin@”%” identified by 'password'
注意:
允许任何主机通过“password”密码访问。
~或者可以修改表:
进入Linux系统下的mysql数据库中,打开user表,找到“host”字段值为“localhost”的记录,将值“localhost”更新为“%”。
命令如下:
mysql -u root -p
Enter password:
mysql>use mysql;
mysql>update user set host='%' where user='root' and host='localhost';
mysql>flush privileges;
3.项目部署前准备
-
开启80/80端口
阿里云服务器ECS处于安全考虑默认自带安全组(仅开放了22号和3389号端口),Tomcat的默认端口号为8080,所以想使用Tomcat不开放8080端口是不行的。很多用户通过修改iptables来开放8080号端口,结果失败,这是由于安全组,对安全组,阿里云亘古不变的安全组开放端口问题。
-
先找到需要操作的目标实例,点击“更多”–“网络和安全组”–“安全组配置”
如下图所示: -
点击“配置规则”
-
点击“添加安全组规则”,添加8080号端口,如下图:
端口范围填:8080/8080
授权对象填:0.0.0.0/0至此,安全组开放8080号端口教程完毕,也可以参考官方文档:添加安全组规则 - 阿里云
修改iptables放行8080号端口
修改iptables,如果您未开通ECS内部防火墙,可以忽略此步骤
如果您的服务器未开通内部防火墙则可以忽略此步骤,本文针对Linux服务器系统,如何检查服务器是否开通了内部防火墙?执行命令:service iptables status,如下所示:[root@aliyunbaike ~]# service iptables statusRedirecting to /bin/systemctl status iptables.serviceUnit iptables.service could not be found.
上述执行命令结果显示,服务器并未开启内部防火墙。如果开了内部防火墙,开放端口号教程:
以Linux服务器为例:- 1、SSH连接到阿里云服务器:ssh root@你的服务器IP
- 2、进入到目录:cd /etc/sysconfig
- 3、修改iptables命令:vi iptables
- 4、加上一条:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
保存即可。
- 5、重启iptables:service iptables restart
开放其他端口如:3306、80、8888、443等,适用以上教程。另外,授权对象填:0.0.0.0/0意味着对所有人都授权,安全性较差,大家按照实际需求自行配置。很多用户对安全组不理解,这是一种安全机制(安全组官方详解 - 阿里云)文档中已经说的很清楚了,包括安全组的配置应用案例等都有明确说明。
4.项目部署
用WinSCP将打包好的jar包放在自定的目录下
使用命令
java -jar xxx.jar
就可以运行
但是当关闭会话时会关闭项目
所以
在命令后加&或者用ctrl+z把任务转到后台,然后用disown -a将任务解除与当前session的关联(意思就是当前session关闭也不影响它)
java -jar xxx.jar &
//会得到进程的id
disown -a
可以使用
ps -ef|grep java
查看运行进程
停止进程运行:
kill -9 1111(运行的进程id)
4.项目部署
用WinSCP将打包好的jar包放在自定的目录下
使用命令
java -jar xxx.jar
就可以运行
但是当关闭会话时会关闭项目
所以
在命令后加&或者用ctrl+z把任务转到后台,然后用disown -a将任务解除与当前session的关联(意思就是当前session关闭也不影响它)
java -jar xxx.jar &
//会得到进程的id
disown -a
可以使用
ps -ef|grep java
查看运行进程
停止进程运行:
kill -9 1111(运行的进程id)