Linux + jdk1.8 + emqx + mysql + tomcat + web 项目云服务器部署
1. JDK1.8安装部署
这里使用tar.gz包进行部署
JDK地址:https://pan.baidu.com/s/1MZUW7ZLQ6Tu_iHaVP6mlow 提取码:xitf
下载好后,使用Xftp或者其它文件上传工具,上传至Linux ,自己创建的 /opt/Java 目录中
输入Linux 命令:cd /opt 只是我习惯将文件部署在此目录,按个人喜欢。
使用命令:mkdir Java 创建Java文件目录。
[root@localhost opt]# mkdir Java
可使用命令 ls 命令查看opt下的目录
[root@localhost opt]# ls
Java
[root@localhost opt]#
使用命令:cd /opt/Java/ 进入到Java目录。
[root@localhost opt]# cd /opt/Java/
[root@localhost Java]# ls
jdk-8u161-linux-x64.tar.gz
[root@localhost Java]#
可看到之前下载的Jdk1.8包
使用命令:tar -zxvf jdk-8u161-linux-x64.tar.gz 进行解压到当前目录
解压后得到:jdk1.8.0_161文件
[root@localhost Java]# tar -zxvf jdk-8u161-linux-x64.tar.gz
[root@localhost Java]# ls
jdk1.8.0_161 jdk-8u161-linux-x64.tar.gz
[root@localhost Java]#
可使用命令 rm -rf jdk-8u161-linux-x64.tar.gz 将压缩包删除,也可不删。
使用命令:vi /etc/profile 编辑JDK 环境变量
[root@localhost Java]# vi /etc/profile
将以下环境变量编辑入profile文件最后一行中
export JAVA_HOME=/opt/Java/jdk1.8.0_161
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
编辑好后按 Esc 再按 Shift + : 输入wq 保存退出。
使用 java ,javac 命令看出现以下内容表示配置成功。
至此JDK环境就安装配置完成了。
2. emqx 开源版本安装部署
进入MQTT官网https://www.emqx.com/zh/try?product=broker
这里我们选择Linux CentOS7 开源版本即可。
下载好后,使用Xftp或者其它文件上传工具,上传至Linux ,自己创建的 /opt/目录中
使用命令:unzip emqx-centos7-4.3.10-amd64.zip 命令将其解压
解压后得到 emqx 文件。
[root@localhost opt]# unzip emqx-centos7-4.3.10-amd64.zip
[root@localhost opt]# ls
emqx emqx-centos7-4.3.10-amd64.zip Java
[root@localhost opt]#
使用命令: cd /opt/emqx/bin 进入到 bin 目录下
[root@localhost opt]# cd /opt/emqx/bin/
[root@localhost bin]# ls
cuttlefish emqx-4.3.10 emqx_ctl-4.3.10 install_upgrade.escript-4.3.10 nodetool-4.3.10
cuttlefish-4.3.10 emqx.cmd emqx_ctl.cmd node_dump no_dot_erlang.boot
emqx emqx_ctl install_upgrade.escript nodetool
[root@localhost bin]#
使用命令: ./emqx start 来启动EMQX 服务
出现 EMQ X Broker 4.3.10 is started successfully! 则表示启动成功了。
[root@localhost bin]# ./emqx start
WARNING: There seem to be missing dynamic libs from the OS. Using libs from /opt/emqx/dynlibs
EMQ X Broker 4.3.10 is started successfully!
[root@localhost bin]#
在浏览器 http://192.168.20.132:18083 进入服务后台。默认账号admin 密码public
注意:要换成你自己Linux 的IP地址
如果访问不了,可能是你防火墙未关闭!
使用命令 systemctl stop firewalld 命令关闭防火墙
使用命令 systemctl status firewalld 查看防火墙状态显示以下内容表示防火墙已经关闭了。
至此EMQX 开源版本就安装部署完成了!
3.MySQL 安装部署
可下载MySQL安装包 https://pan.baidu.com/s/1nhVDIT1POJ0kUGnKyz-y-A 提取码:bllg
也可使用命令wget 在线下载,如果连接失效了,下载的MySQL安装包使用Xftp,或者其它上传工具上传即可。
使用命令:cd /opt 进入opt目录
使用命令:wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
[root@localhost opt]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
[root@localhost opt]# ls
emqx Java mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
如果下载的安装包,可跳过上面一步。
使用命令:tar -zvxf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
解压后使用命令:mv mysql-5.7.26-linux-glibc2.12-x86_64 /opt/mysql-5.7 重命名成 mysql-5.7
[root@localhost opt]# mv mysql-5.7.26-linux-glibc2.12-x86_64 mysql-5.7
[root@localhost opt]# ls
emqx Java mysql-5.7
使用命令:groupadd mysql 创建mysql用户
[root@localhost mysql-5.7]# groupadd mysql
使用命令:useradd -r -g mysql mysql 赋予数据目录权限
[root@localhost mysql-5.7]# useradd -r -g mysql mysql
使用命令:mkdir data 创建数据库目录
[root@localhost mysql-5.7]# mkdir data
[root@localhost mysql-5.7]# ls
bin COPYING data docs include lib man README share support-files
[root@localhost mysql-5.7]#
使用命令: chown mysql:mysql -R /opt/mysql-5.7/data/ 赋予权限
[root@localhost mysql-5.7]# chown mysql:mysql -R /opt/mysql-5.7/data/
现在开始配置my.cnf 文件参数使用命令:vi /etc/my.cnf
[root@localhost mysql-5.7]# vi /etc/my.cnf
将以下参数编入my.cnf文件中
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/opt/mysql-5.7
datadir=/opt/mysql-5.7/data
socket=/tmp/mysql.sock
log-error=/opt/mysql-5.7/data/mysql.err
pid-file=/opt/mysql-5.7/data/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
lower_case_table_names=1 #忽略MySQL大小写
注意:lower_case_table_names=1 ,这一栏是让MySQL不区分大小写。如果你执行的是Windwos导出来的sql可执行文件,就得加上此行,如果是Linux 里创建则不用。
配置好后,开始初始化MySQL
使用命令:cd /opt/mysql-5.7/bin 进入mysql bin 目录中
[root@localhost /]# cd /opt/mysql-5.7/bin/
[root@localhost bin]# ls
innochecksum mysqladmin mysqld_multi mysqlpump mysqlxtest
lz4_decompress mysqlbinlog mysqld_safe mysql_secure_installation perror
myisamchk mysqlcheck mysqldump mysqlshow replace
myisam_ftdump mysql_client_test_embedded mysqldumpslow mysqlslap resolveip
myisamlog mysql_config mysql_embedded mysql_ssl_rsa_setup resolve_stack_dump
myisampack mysql_config_editor mysqlimport mysqltest_embedded zlib_decompress
my_print_defaults mysqld mysql_install_db mysql_tzinfo_to_sql
mysql mysqld-debug mysql_plugin mysql_upgrade
[root@localhost bin]#
使用命令:./mysqld --defaults-file=/etc/my.cnf --basedir=/opt/mysql-5.7/ --datadir=/opt/mysql-5.7/data/ --user=mysql --initialize
初始化mysql
[root@localhost bin]# ./mysqld --defaults-file=/etc/my.cnf --basedir=/opt/mysql-5.7/ --datadir=/opt/mysql-5.7/data/ --user=mysql --initialize
使用命令:cat /opt/mysql-5.7/data/mysql.err 查看初始化的mysql密码 下方图片红框就是初始化的密码记得保存噢!
[root@localhost bin]# cat /opt/mysql-5.7/data/mysql.err
2021-12-13T11:29:07.721469Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-12-13T11:29:07.971285Z 0 [Warning] InnoDB: New log files created, LSN=45790
2021-12-13T11:29:08.008961Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2021-12-13T11:29:08.068427Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: e2c446b5-5c07-11ec-ba42-000c2928ed06.
2021-12-13T11:29:08.072511Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2021-12-13T11:29:08.075979Z 1 [Note] A temporary password is generated for root@localhost: naoRjOlkj5-e
[root@localhost bin]#
使用命令:cd /opt/mysql-5.7/support-files/ 进入到support-files 目录下
[root@localhost bin]# cd /opt/mysql-5.7/support-files/
[root@localhost support-files]# ls
magic mysqld_multi.server mysql-log-rotate mysql.server
使用命令:./mysql.server start 启动服务 输出Starting MySQL. SUCCESS! 表示成功了
[root@localhost support-files]# ./mysql.server start
Starting MySQL. SUCCESS!
使用命令:ps -ef|grep mysql 可查看 mysql 进程是否启动,显示下面内容表示启动成功。
[root@localhost support-files]# ps -ef|grep mysql
root 5440 1 0 19:40 pts/0 00:00:00 /bin/sh /opt/mysql-5.7/bin/mysqld_safe --datadir=/opt/mysql-5.7/data --pid-file=/opt/mysql-5.7/data/mysql.pid
mysql 5667 5440 0 19:40 pts/0 00:00:00 /opt/mysql-5.7/bin/mysqld --basedir=/opt/mysql-5.7 --datadir=/opt/mysql-5.7/data --plugin-dir=/opt/mysql-5.7/lib/plugin --user=mysql --log-error=/opt/mysql-5.7/data/mysql.err --pid-file=/opt/mysql-5.7/data/mysql.pid --socket=/tmp/mysql.sock --port=3306
root 5698 5120 0 19:42 pts/0 00:00:00 grep --color=auto mysql
使用命令:cd /opt/mysql-5.7/bin/ 我们回到 bin 目录下。
使用命令:./mysql -uroot -p 登录mysql
在password:输入之前初始化的密码。
[root@localhost bin]# cd /opt/mysql-5.7/bin/
[root@localhost bin]# ./mysql -uroot -p
Enter password:
登录成功后,我们修改MySQL登录密码
使用命令:set password = password(“123456”) 这里可填写你自己需要的密码。
再执行:alter user “root”@“localhost” password expire never;
再执行:flush privileges; 立即生效
输入:exit 可退出数据库。
修改后的密码,可尝试登录一下。
mysql> set password = password("123456");
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> alter user "root"@"localhost" password expire never;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
[root@localhost bin]#
至此MySQL就安装部署完成了!
就
很
棒!
4.Tomcat 8 安装部署
下载Tomcat 8 安装包:https://pan.baidu.com/s/1zEs3h6h6M66Z91dn75gIOg 提取码:7nr8
下载的 Tomcat 安装包使用Xftp,或者其它上传工具上传即可。
使用命令:cd /opt/ 进入opt目录下
使用命令:tar -zvxf apache-tomcat-8.5.73.tar.gz 解压包到当前目录下
[root@localhost /]# cd opt/
[root@localhost opt]# ls
apache-tomcat-8.5.73.tar.gz emqx Java mysql-5.7
[root@localhost opt]# tar -zvxf apache-tomcat-8.5.73.tar.gz
解压后得到:apache-tomcat-8.5.73
现在我们把项目工程包放入 /opt/apache-tomcat-8.5.73/webapps/ 目录中
使用命令:cd /opt/apache-tomcat-8.5.73/webapps/
再执行:mkdir faceServer 创建一个存放项目的文件夹
然后使用Xftp 或者其它上传文件工具,上传到faceServer目录下
注意:faceServer 里的文件,我是将工程打包成war包,然后在解压在此目录的。
[root@localhost /]# cd /opt/apache-tomcat-8.5.73/webapps
[root@localhost webapps]# mkdir faceServer
[root@localhost faceServer]# ls
META-INF org WEB-INF
现在我们开始配置 server.xml 将项目路径配置进去
使用命令:cd /opt/apache-tomcat-8.5.73/conf/ 进入到conf目录下
[root@localhost apache-tomcat-8.5.73]# cd /opt/apache-tomcat-8.5.73/conf/
[root@localhost conf]# ls
catalina.policy context.xml jaspic-providers.xsd server.xml tomcat-users.xsd
catalina.properties jaspic-providers.xml logging.properties tomcat-users.xml web.xml
[root@localhost conf]#
使用命令:vi server.xml 编辑文件
找到此处,是访问端口号
配置好后,使用Esc 再按Shift+: 输入wq保存退出
然后我们开始启动项目使用命令: cd /opt/apache-tomcat-8.5.73/bin/ 进入到tomcat bin 目录下
使用命令:./startup.sh 开启tomcat 服务,输出一下内容表示启动成功了。
[root@localhost faceServer]# cd /opt/apache-tomcat-8.5.73/bin/
[root@localhost bin]# ./startup.sh
Using CATALINA_BASE: /opt/apache-tomcat-8.5.73
Using CATALINA_HOME: /opt/apache-tomcat-8.5.73
Using CATALINA_TMPDIR: /opt/apache-tomcat-8.5.73/temp
Using JRE_HOME: /opt/Java/jdk1.8.0_161/jre
Using CLASSPATH: /opt/apache-tomcat-8.5.73/bin/bootstrap.jar:/opt/apache-tomcat-8.5.73/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
现在我们访问一下服务:浏览器输入:http://192.168.20.132:8080/system/devices 进行访问
至此我们的项目就部署完成了!
并且MQTT的消息中间件也可以收到消息了
我们也可以使用MQTT消息中间件自带的消息订阅功能查看
可以看到我们订阅的/_dispatch/command/ 已经接收到了客户端发来的消息。
这里我将集成了Spring boot + web + MQTT消息消息中间件Demo示例可下载参考。
Spring boot + web + MQTT消息消息中间件Demo示例 提取码:q4kp
Demo示例里的注释已经简单的介绍了消息订阅,消息发布,MQTT消息中间件的使用。
如自己有新需求:还请参考官方文档进行开发~
至此整个项目搭建就完成了
如果此片文章对你有帮助的话,请送给我一个点赞~ 也是第一次发文章,还请各位多多关照~