-
linux安装常用的中间件
2020-03-24 16:31:40安装jdk ...linux安装zk cd到某个目录下开始下载tar.gz包 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz 解压 tar -zxvf zookeeper-3....安装jdk
yum install java-1.8.0-openjdk.x86_64linux安装zk
cd到某个目录下开始下载tar.gz包
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz解压 tar -zxvf zookeeper-3.4.14.tar.gz
cd zookeeper-3.4.14
cp conf/zoo_sample.cfg conf/zoo.cfg修改 zoo.cfg 的 dataDir 和 dataLog
dataDir=/usr/local/zookeeper-3.4.14
dataLogDir=/usr/local/zookeeper-3.4.14/log
启动zk
bin/zkServer.sh start
进入zk
bin/zkCli.shlinux安装redis
实测是可以起来 但具体的配置啥的 抽空看视频回忆下把
yum install redis
systemctl start redis
systemctl status redis
systemctl stop redis 停止服务
systemctl restart redis 重启服务
systemctl enable redis 设置开机自启动// 不要用
systemctl start firewalld 开启防火墙
systemctl status firewalld 查看状态
//开放端口号
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=6379/tcp --permanentvi /etc/redis.conf修改配置文件
修改未非本机也可以访问,保护模式修改为no
密码修改为123456
保存退出 esc +:wq
然后重启redis
systemctl restart redislinux安装ng
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
cd /usr/local
mkdir nginx
cd nginx
下载
wget http://nginx.org/download/nginx-1.9.12.tar.gz
解压
tar -xvf nginx-1.9.12.tar.gz然后到nginx-1.9.12目录下执行者两步
./configure --prefix=/usr/local/nginx
make
make install
之后nginx目录下就会出现sbin
// 这是用的目录 有没有成功忘记了
./sbin/nginx 启动
./sbin/nginx -s reload 重启
-s stop
之后通过ip:80 就可以了
实测是绝对可行的!!!
注意: 这里的nginx 配置文件是sbin同级目录的
配置多个静态资源:location / { root /usr/local/dist/; index index.html index.htm; } location /core { alias /usr/local/static/dist/; index index.html index.php index.htm; }
api 表示这个打头的 替换成 parxy_pass的地址
root 表示 映射的html地址linux 守护进程的方式启动 springboot项目
nohup java -jar coreWeb.jar --spring.profiles.active=groupA
java -jar coreWeb.jar --spring.profiles.active=groupAnohup java -jar 111.jar --spring.profiles.active=test-groupA > 111.log 2>&1 &
-
JAVA常用的中间件
2019-04-11 14:44:59tomcat ...linux系统建议使用jetty或apache hpptd 大型的项目就用JBOSS或webloigc 小项目,或者是个人开发tomcat 大项目或者商业项目一般采用:weblgoic/webshere 其他的还有jboss、glasshfis...tomcat
Weblogic
JBOSS
Coldfusion
Websphere
GlassFish一般本地开发的话建议使用tomcat。
linux系统建议使用jetty或apache hpptd
大型的项目就用JBOSS或webloigc
小项目,或者是个人开发tomcat 大项目或者商业项目一般采用:weblgoic/webshere 其他的还有jboss、glasshfish等 一些示例项目或者小项目常采用jetty
tomcat , jboss, weblogic, websphere 一般项目tomcat就可以了
Tomcat是Sun的JSWDK(JavaServer Web Development Kit)中Servlet的运行环境(servlet容器)。Tomcat是Apache Jakarta软件组织的一个子项目,Tomcat是一个JSP/Servlet容器,它是在SUN公司的JSWDK(Java Server Web Development Kit)基础上发展起来的一个JSP和Servlet规范的标准实现,使用Tomcat可以体验JSP和Servlet的最新规范。经过多年的发展,Tomcat不仅是JSP和Servlet规范的标准实现,而且具备了很多商业Java Servlet容器的特性,并被一些企业用于商业用途。
JBoss是一个运行EJB的J2EE应用服务器。它是开放源代码的项目,遵循最新的J2EE规范。从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的J2EE的一个web 操作系统(operating system for web),它体现了J2EE规范中最新的技术
WebLogic服务器是企业级的应用服务器,支持EJB, 集群以及 ERP(企业资源计划)的连通性 ,开发公司:BEA。
WebSphere产品系列是IBM公司一套典型的电子商务应用开发工具及运行环境
1.Java中间件的定义
在Java web开发的演进与进化中,我们对于消息系统,数据库,服务化接口的抽象等,涉及数据分离的过程中,在分离过程中,就会涉及到分离后系统间,数据库间的交互。java中间件就是处理我们数据间交互,连接数据分离后两个系统间的通信,中间件不属于任何一个开发项目,就是让我们对应系统间或者数据库间数据流通无感知。有点像Linux下的管道。
2.中间件应用的基本领域与代表
上面说到java是数据间的中间件,在java web开发中适用的范围主要应该是下面三个领域:
- 远程过程调用和对象访问中间件
主要解决分布式环境下应用的互相访问问题,这也是支撑应用服务化功能的基础;
例如:RPC:Remote Process Call(远程过程调用中间件)
消息中间件:解决应用之间的消息传递、解耦、异步的问题。
例如:ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。- 数据访问中间件
主要解决应用访问数据库的共性问题的组件
例如:数据访问中间间就是我们使用数据库指定的数据驱动,例如:ODBC JDBC,以 JDBC 为例,数据库本地维护了一个数据访问中间件,我们在访问数据库的时候,配置的地址其实是直接连接到JDBC这个数据访问中间件,如果我们执行查询数据,或者对数据库的操作都是通过JDBC来连接数据库,然后通过JDBC查询完成数据库以后再返回给我们应用程序。作为中间件,查询过程对于我们是不可知的。 -
java常用的中间件
2019-04-02 23:30:44tomcat ...linux系统建议使用jetty或apache hpptd 大型的项目就用JBOSS或webloigc 小项目,或者是个人开发tomcat 大项目或者商业项目一般采用:weblgoic/webshere 其他的还有jboss、glasshfish等 一些...tomcat
Weblogic
JBOSS
Coldfusion
Websphere
GlassFish一般本地开发的话建议使用tomcat。
linux系统建议使用jetty或apache hpptd
大型的项目就用JBOSS或webloigc
小项目,或者是个人开发tomcat 大项目或者商业项目一般采用:weblgoic/webshere
其他的还有jboss、glasshfish等
一些示例项目或者小项目常采用jetty
tomcat , jboss, weblogic, websphere 一般项目tomcat就可以了Tomcat是Sun的JSWDK(JavaServer Web Development Kit)中Servlet的运行环境(servlet容器)。Tomcat是Apache Jakarta软件组织的一个子项目,Tomcat是一个JSP/Servlet容器,它是在SUN公司的JSWDK(Java Server Web Development Kit)基础上发展起来的一个JSP和Servlet规范的标准实现,使用Tomcat可以体验JSP和Servlet的最新规范。经过多年的发展,Tomcat不仅是JSP和Servlet规范的标准实现,而且具备了很多商业Java Servlet容器的特性,并被一些企业用于商业用途。
JBoss是一个运行EJB的J2EE应用服务器。它是开放源代码的项目,遵循最新的J2EE规范。从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的J2EE的一个web 操作系统(operating system for web),它体现了J2EE规范中最新的技术
WebLogic服务器是企业级的应用服务器,支持EJB, 集群以及 ERP(企业资源计划)的连通性 ,开发公司:BEA。
WebSphere产品系列是IBM公司一套典型的电子商务应用开发工具及运行环境
1.Java中间件的定义
在Java web开发的演进与进化中,我们对于消息系统,数据库,服务化接口的抽象等,涉及数据分离的过程中,在分离过程中,就会涉及到分离后系统间,数据库间的交互。java中间件就是处理我们数据间交互,连接数据分离后两个系统间的通信,中间件不属于任何一个开发项目,就是让我们对应系统间或者数据库间数据流通无感知。有点像Linux下的管道。
2.中间件应用的基本领域与代表
上面说到java是数据间的中间件,在java web开发中适用的范围主要应该是下面三个领域:
远程过程调用和对象访问中间件
主要解决分布式环境下应用的互相访问问题,这也是支撑应用服务化功能的基础;
例如:RPC:Remote Process Call(远程过程调用中间件)
消息中间件:解决应用之间的消息传递、解耦、异步的问题。
例如:ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。数据访问中间件
主要解决应用访问数据库的共性问题的组件
例如:数据访问中间间就是我们使用数据库指定的数据驱动,例如:ODBC JDBC,以 JDBC 为例,数据库本地维护了一个数据访问中间件,我们在访问数据库的时候,配置的地址其实是直接连接到JDBC这个数据访问中间件,如果我们执行查询数据,或者对数据库的操作都是通过JDBC来连接数据库,然后通过JDBC查询完成数据库以后再返回给我们应用程序。作为中间件,查询过程对于我们是不可知的。 -
使用docker技术,快速在linux上搭建常用的中间件,mysql、activemq、redis 篇(上)。
2020-08-06 18:19:27今天的文章会内容是:使用docker搭建项目中用到的中间件,mysql、activemq、redis、elk、consul、 nexus。废话不多说,我们一个一个开始吧。 二、干货都在这个部分 1. mysql ---->大大小小的项目都会用到我们的...一、前言
hello!大家好呀!今天是2020-08-06号,星期四,我是会打篮球会做饭的程序员,御前带糖侍卫。今天要和大家分享的是如何在linux快速搭建我们项目中用到的一些中间件。今天的文章会内容是:使用docker搭建项目中用到的中间件,mysql、activemq、redis、elk、consul、 nexus。废话不多说,我们一个一个开始吧。
二、干货都在这个部分
1. mysql ---->大大小小的项目都会用到我们的mysql关系型数据库啦
- 第一步:在linux系统上安装一个干净的docker
sudo apt-get remove docker docker-engine docker.io containerd runc sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo apt-key fingerprint 0EBFCD88 sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io systemctl restart docker
- 第二步:docker启动完毕后 ,搜索mysql的docker 镜像文件,并启动安装
- 搜索mysql镜像
docker search mysql
- 拉取镜像,一般选择第一个,可以加上版本号,不加的话默认最新版本,latest
docker pull mysql
- 查看镜像是否拉取成功
docker images
- docker run 方式启动mysql
docker run -d -p 3307:3306 --name ALDmysql8 --restart always -v /home/fuhang/mysql8db/config/my.cnf:/etc/mysql/my.cnf -v /home/fuhang/mysql8db/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql
命令 命令的含义 -d 后台运行 -p 暴露的端口号,‘:’前面的是宿主机对外暴露的端口号,后面的组件的端口号 -v docker容器里面挂在在宿主机的文件目录,‘:’前面是宿主机的文件目录,后面是组件在docker容器里面的文件目录 -e environment运行环境,设置mysql的密码 - 配置文件 my.cnf
[mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql secure-file-priv= #/tmp/ # Disabling symbolic-links is recommended to prevent assorted security risks tmpdir=/var/tmp symbolic-links=0 # Custom config should go here !includedir /etc/mysql/conf.d/ max_connections=5000 default_authentication_plugin= mysql_native_password innodb_numa_interleave=1 default-time_zone = '+8:00' slow_query_log = ON slow_query_log_file = /var/lib/mysql/instance-1-slow.log long_query_time = 2 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
- 为了方便,可以使用docker-compose方式
- 创建一个mysql文件夹,文件目录结构
- 编写 docker-compose.yml
version: '3' services: mysql_compose: image: mysql:8.0.16 container_name: mysql_ALD restart: always ports: - 3307:3306 volumes: - /home/fuhang/mysql8db/data:/var/lib/mysql - /home/fuhang/mysql8db/config/my.cnf:/etc/mysql/my.cnf environment: MYSQL_ROOT_PASSWORD: "123456" security_opt: - seccomp:unconfined
- docker-compose的方式启动mysql
docker-compose up -d
2. redis ---->redis缓存也很常用
1、和 mysql搭建也是一样的就不赘述了,直接上代码吧
docker search redis
docker pull redis
docker run -p 6379:6379 --name fuhang_redis3 -v /root/redisconf/redis.conf:/etc/redis/redis.conf -v /root/redis:/data -d redis redis-server --requirepass "mypassword" --appendonly yes
- docker-compose 的方式运行 redis,直接上代码
- 创建一个redis文件夹,里面有这些文件
- 编写docker-compose.yml文件
version: '3' services: redis: image: redis container_name: docker_redis restart: always ports: - 6379:6379 volumes: - ./data:/data - ./redis.conf:/etc/redis/redis.conf command: redis-server --port 6379 --requirepass "mypassword" --appendonly yes
- docker-compose up运行redis
docker-compose up -d
- 查看redis是否运行成功
docker ps
3. activemq ---->activemq也是很常用的消息队列
1、和 mysql、redis 搭建也是一样的就不赘述了,直接上代码吧
docker search activemq
docker pull activemq
- docker-run方式运行
docker run -d --name activemq-5.14 --restart=always -p 61617:61616 -p 8162:8161 -v /home/fuhang/activemq/activemq.xml:/opt/activemq/conf/activemq.xml webcenter/activemq
- docker-compose 的方式运行 activemq,直接上代码
- 创建一个activemq文件夹,里面有这些文件
- activemq配置文件,配置了mysql持久化,和多种连接方式
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"> <!-- Allows us to use system properties as variables in this configuration file --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <value>file:${activemq.conf}/credentials.properties</value> </property> </bean> <!-- Allows accessing the server log --> <bean id="logQuery" class="io.fabric8.insight.log.log4j.Log4jLogQuery" lazy-init="false" scope="singleton" init-method="start" destroy-method="stop"> </bean> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}"> <destinationPolicy> <policyMap> <policyEntries> <policyEntry topic=">" > <pendingMessageLimitStrategy> <constantPendingMessageLimitStrategy limit="1000"/> </pendingMessageLimitStrategy> </policyEntry> </policyEntries> </policyMap> </destinationPolicy> <managementContext> <managementContext createConnector="false"/> </managementContext> <persistenceAdapter> <!--<kahaDB directory="${activemq.data}/kahadb"/>--> <jdbcPersistenceAdapter directory="${activemq.data}/mysqldb" dataSource="#mysql-ds" createTablesOnStartup="true"/> </persistenceAdapter> <systemUsage> <systemUsage> <memoryUsage> <memoryUsage percentOfJvmHeap="70" /> </memoryUsage> <storeUsage> <storeUsage limit="100 gb"/> </storeUsage> <tempUsage> <tempUsage limit="50 gb"/> </tempUsage> </systemUsage> </systemUsage> <!-- 几种不同的连接方式 --> <transportConnectors> <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB --> <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="auto+nio" uri="auto+nio://0.0.0.0:61608?maximumConnections=1000& org.apache.activemq.transport.nio.SelectorManager.corePoolSize=20&org.apache.activemq.transport.nio.SelectorManager.maximumPoolSize=50"/> </transportConnectors> <!-- destroy the spring context on shutdown to stop jetty --> <shutdownHooks> <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" /> </shutdownHooks> </broker> <!-- 配置mysql数据源用来持久化 --> <bean id="mysql-ds" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://172.16.2.2:3307/db_activemq?useUnicode=true&characterEncoding=UTF-8"/> <property name="username" value="root"/> <property name="password" value="123456"/> </bean> <import resource="jetty.xml"/> </beans>
- 上传配置mysql持久化 需要的数据源和连接池,这个可以下载到
- 编写docker-compose.yml文件
version: '3' services: #activemq容器 activemq: container_name: activemq_3 #使用的镜像 image: webcenter/activemq restart: always #容器的映射端口 ports: - 61613:61613 - 61617:61616 - 8162:8161 - 5672:5672 - 1883:1883 - 61614:61614 - 61608:61608 #定义挂载点 volumes: - /etc/localtime:/etc/localtime:ro - ./log:/var/log/activemq - ./conf/activemq.xml:/opt/activemq/conf/activemq.xml:ro - ./lib/mysql-connector-java-5.1.47.jar:/opt/activemq/lib/mysql-connector-java-5.1.47.jar:ro - ./lib/druid-1.1.18.jar:/opt/activemq/lib/druid-1.1.18.jar:ro #环境变量 environment: - ACTIVEMQ_ADMIN_LOGIN=admin - ACTIVEMQ_ADMIN_PASSWORD=admin - ACTIVEMQ_CONFIG_MINMEMORY=512 - ACTIVEMQ_CONFIG_MAXMEMORY=2048 - TZ=Asia/Shanghai
docker-compose up -d
- 查看activemq是否运行成功
docker ps
三、结束语
- 今天先到这里吧,文章太长大家也不爱看,本篇文章我们 就先只介绍安装mysql、activemq、redis,docker run 和docker-compose启动的方式。下篇文章我会介绍maven私服,nexus、elk、consul的docker run 和docker-compose的两种搭建方式。咱们下篇文再见吧!
-
使用docker技术,快速在linux上搭建常用的中间件,elk、consul、 nexus 篇(下)。
2020-08-07 17:05:29今天这篇文章是紧接着上一篇文章的内容,上一篇讲了如何在linux系统搭建docker环境,以及使用docker搭建mysql、activemq、redis 组件。今天就和大家讲讲如何在linux上搭建 elk、consul、 nexus 吧。教程开始之前先... -
apache是中间件_java常用的中间件
2020-12-03 01:25:18linux系统建议使用jetty或apache hpptd大型的项目就用JBOSS或webloigc小项目,或者是个人开发tomcat 大项目或者商业项目一般采用:weblgoic/webshere其他的还有jboss、glasshfish等一些示例项目或者小项目常采... -
linux下常用命令及各中间件常用命令初步整理
2019-01-15 17:30:40目录 linux: redis(首先进入redis下bin目录): zookeeper(首先进入zookeeper下bin目录):...前言:以下命令都是个人比较常用的,本意只是作个人记录,当遗忘的时候能快速找到~ linux: 1、centos6系统打开/关...