Files
fizz-gateway-node/docs/guide/installation/index.html

107 lines
26 KiB
HTML
Raw Normal View History

2020-09-21 13:16:41 +08:00
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>安装 | Fizz Gateway</title>
<meta name="generator" content="VuePress 1.5.2">
<meta name="description" content="">
2020-11-18 14:56:47 +08:00
<link rel="preload" href="/assets/css/0.styles.34d67128.css" as="style"><link rel="preload" href="/assets/js/app.60575df2.js" as="script"><link rel="preload" href="/assets/js/2.5b001851.js" as="script"><link rel="preload" href="/assets/js/12.f815cfa2.js" as="script"><link rel="prefetch" href="/assets/js/10.13320b99.js"><link rel="prefetch" href="/assets/js/11.a76c2e4c.js"><link rel="prefetch" href="/assets/js/13.fdb2bea3.js"><link rel="prefetch" href="/assets/js/14.7e909813.js"><link rel="prefetch" href="/assets/js/15.791d6b9d.js"><link rel="prefetch" href="/assets/js/16.4ae255f1.js"><link rel="prefetch" href="/assets/js/17.32fa8ea0.js"><link rel="prefetch" href="/assets/js/18.603a235b.js"><link rel="prefetch" href="/assets/js/19.5c4af839.js"><link rel="prefetch" href="/assets/js/20.1bf2bcbb.js"><link rel="prefetch" href="/assets/js/21.081e4e30.js"><link rel="prefetch" href="/assets/js/22.0c08546e.js"><link rel="prefetch" href="/assets/js/23.94679012.js"><link rel="prefetch" href="/assets/js/24.9c5c2990.js"><link rel="prefetch" href="/assets/js/25.aead8972.js"><link rel="prefetch" href="/assets/js/26.b4625fe9.js"><link rel="prefetch" href="/assets/js/27.20a7e33d.js"><link rel="prefetch" href="/assets/js/28.3d35b618.js"><link rel="prefetch" href="/assets/js/29.60b7285b.js"><link rel="prefetch" href="/assets/js/3.a51774e3.js"><link rel="prefetch" href="/assets/js/30.7591e88a.js"><link rel="prefetch" href="/assets/js/4.7d5f245c.js"><link rel="prefetch" href="/assets/js/5.abc10683.js"><link rel="prefetch" href="/assets/js/6.e883523c.js"><link rel="prefetch" href="/assets/js/7.e3b70354.js"><link rel="prefetch" href="/assets/js/8.a4432ff1.js"><link rel="prefetch" href="/assets/js/9.b1740bdf.js">
2020-11-09 11:57:42 +08:00
<link rel="stylesheet" href="/assets/css/0.styles.34d67128.css">
2020-09-21 13:16:41 +08:00
</head>
<body>
2020-11-09 11:57:42 +08:00
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">Fizz Gateway</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/" class="nav-link">
2020-09-21 13:16:41 +08:00
首页
2020-11-09 11:57:42 +08:00
</a></div><div class="nav-item"><a href="/guide/intro/" class="nav-link">
2020-09-21 13:16:41 +08:00
使用文档
</a></div> <a href="https://github.com/wehotel/fizz-gateway-community" target="_blank" rel="noopener noreferrer" class="repo-link">
查看源码
2020-11-09 11:57:42 +08:00
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/" class="nav-link">
2020-09-21 13:16:41 +08:00
首页
2020-11-09 11:57:42 +08:00
</a></div><div class="nav-item"><a href="/guide/intro/" class="nav-link">
2020-09-21 13:16:41 +08:00
使用文档
</a></div> <a href="https://github.com/wehotel/fizz-gateway-community" target="_blank" rel="noopener noreferrer" class="repo-link">
查看源码
2020-11-18 14:56:47 +08:00
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></nav> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>Fizz简介</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/intro/" class="sidebar-link">什么是Fizz网关</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/guide/intro/#什么是fizz网关" class="sidebar-link">什么是Fizz网关</a></li><li class="sidebar-sub-header"><a href="/guide/intro/#fizz的设计" class="sidebar-link">Fizz的设计</a></li><li class="sidebar-sub-header"><a href="/guide/intro/#产品特性" class="sidebar-link">产品特性</a></li></ul></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>安装部署</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/installation/" aria-current="page" class="active sidebar-link">安装</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/guide/installation/#安装依赖" class="sidebar-link">安装依赖</a></li><li class="sidebar-sub-header"><a href="/guide/installation/#安装fizz" class="sidebar-link">安装Fizz</a></li></ul></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>路由转发</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/proxy/" class="sidebar-link">路由转发</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/guide/proxy/#路由转发介绍" class="sidebar-link">路由转发介绍</a></li><li class="sidebar-sub-header"><a href="/guide/proxy/#接入路由转发" class="sidebar-link">接入路由转发</a></li></ul></li></ul></section></li><li><section class="sidebar-group depth-0"><p class="sidebar-heading"><span>服务编排</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/guide/aggregate/" class="sidebar-link">服务编排介绍</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/guide/aggregate/#什么是服务编排" class="sidebar-link">什么是服务编排</a></li><li class="sidebar-sub-header"><a href="/guide/aggregate/#举例说明" class="sidebar-link">举例说明</a></li><li class="sidebar-sub-header"><a href="/guide/aggregate/#服务编排架构" class="sidebar-link">服务编排架构</a></li><li class="sidebar-sub-header"><a href="/guide/aggregate/#适用场景" class="sidebar-link">适用场景</a></li></ul></li><li><a href="/guide/aggregate/overview.html" class="sidebar-link">步骤总览</a></li><li><a href="/guide/aggregate/configuration.html" class="sidebar-link">服务编排配置</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/guide/aggregate/configuration.html#创建服务" class="sidebar-link">创建服务</a></li><li class="sidebar-sub-header"><a href="/guide/aggregate/configuration.html#创建聚合接口" class="sidebar-link">创建聚合接口</a></li><li class="sidebar-sub-header"><a href="/guide/aggregate/configuration.html#配置输入" class="sidebar-link">配置输入</a></li><li class="sidebar-sub-header"><a href="/guide/aggregate/configuration.html#配置校验结果" class="sidebar-link">配置校验结果</a></li><li class="sidebar-sub-header"><a href="/guide/aggregate/configuration.html#配置步骤" class="sidebar-link">配置步骤</a></li><li class="sidebar-sub-header"><a href="/guide/aggregate/configuration.html#配置输出" class="sidebar-link">配置输出</a></li><li class="sidebar-sub-header"><a href="/guide/aggregate/configuration.html#脚本-2" class="sidebar-link">脚本</a></li><li
2020-09-21 13:16:41 +08:00
</code></pre></div><ol start="2"><li>解压</li></ol> <div class="language-shell extra-class"><pre class="language-shell"><code><span class="token function">tar</span> -xvf mysql-5.7.30-1.el6.x86_64.rpm-bundle.tar
</code></pre></div><ol start="3"><li>安装</li></ol> <div class="language-shell extra-class"><pre class="language-shell"><code><span class="token function">sudo</span> yum <span class="token function">install</span> mysql-community-<span class="token punctuation">{</span>server,client,common,libs<span class="token punctuation">}</span>-*
</code></pre></div><ol start="4"><li>启动</li></ol> <div class="language-shell extra-class"><pre class="language-shell"><code><span class="token function">sudo</span> <span class="token function">service</span> mysqld start
</code></pre></div><p>启动成功会显示以下信息:</p> <div class="language- extra-class"><pre class="language-text"><code>[root@localhost ~]# sudo service mysqld start
Initializing MySQL database: [ OK ]
Starting mysqld: [ OK ]
</code></pre></div><ol start="5"><li>初始密码</li></ol> <div class="language- extra-class"><pre class="language-text"><code>sudo grep 'temporary password' /var/log/mysqld.log
</code></pre></div><ol start="6"><li>使用初始密码登录</li></ol> <div class="language- extra-class"><pre class="language-text"><code>mysql -uroot -p
</code></pre></div><ol start="7"><li>修改密码</li></ol> <div class="language- extra-class"><pre class="language-text"><code>ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
</code></pre></div><ol start="8"><li>退出登录</li></ol> <div class="language- extra-class"><pre class="language-text"><code>quit
</code></pre></div><h3 id="安装redis-6-0-8"><a href="#安装redis-6-0-8" class="header-anchor">#</a> 安装Redis 6.0.8</h3> <ol><li>下载解压并编译</li></ol> <div class="language- extra-class"><pre class="language-text"><code>$ wget http://download.redis.io/releases/redis-6.0.8.tar.gz
$ tar xzf redis-6.0.8.tar.gz
$ cd redis-6.0.8
$ make
</code></pre></div><ol start="2"><li>启动redis</li></ol> <p>运行编译后的文件:</p> <div class="language- extra-class"><pre class="language-text"><code>$ src/redis-server
</code></pre></div><ol start="3"><li>客户端连接</li></ol> <div class="language- extra-class"><pre class="language-text"><code>$ src/redis-cli
redis&gt; set foo bar
OK
redis&gt; get foo
&quot;bar&quot;
2020-09-21 16:05:48 +08:00
</code></pre></div><h3 id="安装apollo配置中心"><a href="#安装apollo配置中心" class="header-anchor">#</a> 安装Apollo配置中心</h3> <p>说明: apollo是可选组件如果不使用apollo可使用本地配置文件application.yml, 如果不使用apollo可跳过此步骤。</p> <p>安装步骤详见apollo官方文档: <a href="https://github.com/ctripcorp/apollo/wiki/Quick-Start" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></p> <h3 id="安装eureka服务注册中心"><a href="#安装eureka服务注册中心" class="header-anchor">#</a> 安装Eureka服务注册中心</h3> <p>环境要求:</p> <ul><li>JDK 1.8 或以上版本</li> <li>Tomcat 6.0.10 或以上版本 如使用spring cloud已内置</li></ul> <ol><li>安装JDK 1.8</li></ol> <p>1下载JDK jdk-8u192-linux-x64.tar.gz</p> <div class="language- extra-class"><pre class="language-text"><code>tar -zxvf jdk-8u192-linux-x64.tar.gz
2020-09-21 13:16:41 +08:00
mv jdk1.8.0_192 /usr/local/
</code></pre></div><p>2设置JDK环境变量将下面内容追回到/etc/profile文件后面</p> <div class="language- extra-class"><pre class="language-text"><code>JAVA_HOME=/usr/local/jdk/jdk1.8.0_192
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar
export JAVA_HOME JRE_HOME PATH CLASSPATH
</code></pre></div><p>3执行以下命令全环境变量生效</p> <div class="language- extra-class"><pre class="language-text"><code>source /etc/profile
</code></pre></div><p>4查看是否安装成功</p> <div class="language- extra-class"><pre class="language-text"><code>java -version
</code></pre></div><ol start="2"><li>安装eureka</li></ol> <p>1使用IDE创建一个spring boot项目sc-eureka-server</p> <p>pom.xml:</p> <div class="language-xml extra-class"><pre class="language-xml"><code><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>dependency</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>groupId</span><span class="token punctuation">&gt;</span></span>org.springframework.cloud<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>groupId</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>artifactId</span><span class="token punctuation">&gt;</span></span>spring-cloud-starter-netflix-eureka-server<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>artifactId</span><span class="token punctuation">&gt;</span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>dependency</span><span class="token punctuation">&gt;</span></span>
</code></pre></div><p>在启动类上添加@EnableEurekaServer注解来启用Euerka注册中心功能:</p> <div class="language-java extra-class"><pre class="language-java"><code><span class="token annotation punctuation">@SpringBootApplication</span>
<span class="token annotation punctuation">@EnableEurekaServer</span>
<span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">ScEurekaServerApplication</span> <span class="token punctuation">{</span>
<span class="token keyword">public</span> <span class="token keyword">static</span> <span class="token keyword">void</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token class-name">String</span><span class="token punctuation">[</span><span class="token punctuation">]</span> args<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token class-name">SpringApplication</span><span class="token punctuation">.</span><span class="token function">run</span><span class="token punctuation">(</span><span class="token class-name">ScEurekaServerApplication</span><span class="token punctuation">.</span><span class="token keyword">class</span><span class="token punctuation">,</span> args<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre></div><p>application.properties配置文件</p> <div class="language-properties extra-class"><pre class="language-properties"><code><span class="token attr-name">spring.application.name</span><span class="token punctuation">=</span><span class="token attr-value">sc-eureka-server</span>
<span class="token attr-name">server.port</span><span class="token punctuation">=</span><span class="token attr-value">8761</span>
<span class="token attr-name">eureka.instance.hostname</span><span class="token punctuation">=</span><span class="token attr-value">localhost</span>
<span class="token attr-name">eureka.client.registerWithEureka</span><span class="token punctuation">=</span><span class="token attr-value">false</span>
<span class="token attr-name">eureka.client.fetchRegistry</span><span class="token punctuation">=</span><span class="token attr-value">false</span>
<span class="token attr-name">eureka.server.enableSelfPreservation</span><span class="token punctuation">=</span><span class="token attr-value">false</span>
</code></pre></div><p>2 maven构建并运行sc-eureka-server应用, 启动后访问地址http://localhost:8761/可以看到Eureka注册中心的界面</p> <p>3把target/sc-eureka-server-1.0.0.jar传到linux服务器上运行. (仅以单机部署为例)</p> <div class="language-shell extra-class"><pre class="language-shell"><code>nohub java -jar sc-eureka-server-1.0.0.jar <span class="token operator">&amp;</span>
</code></pre></div><p>4eureka客户端的注册地址为http://localhost:8761/eureka/ (替换localhost为服务器的IP)</p> <div class="language-properties extra-class"><pre class="language-properties"><code><span class="token attr-name">eureka.client.serviceUrl.defaultZone</span> <span class="token punctuation">=</span> <span class="token attr-value">http://localhost:8761/eureka/</span>
2020-10-27 15:45:29 +08:00
</code></pre></div><h2 id="安装fizz"><a href="#安装fizz" class="header-anchor">#</a> 安装Fizz</h2> <h3 id="管理后台"><a href="#管理后台" class="header-anchor">#</a> 管理后台</h3> <p>从github的releases(https://github.com/wehotel/fizz-gateway-community/releases)下载 fizz-manager-professional 和 fizz-admin-professional 的安装包</p> <ul><li>管理后台服务端fizz-manager-professional</li></ul> <ol><li>首次安装执行<code>fizz-manager-professional-1.1.0-mysql.sql</code>数据库脚本,低版本升级执行<code>update</code>目录下的升级脚本</li> <li><code>application-prod.yml</code><code>boot.sh</code><code>fizz-manager-professional-1.1.0.jar</code>拷贝到<code>/data/webapps/fizz-manager-professional</code>目录下</li> <li>修改<code>application-prod.yml</code>文件,将相关配置修改成部署环境的配置</li> <li>修改<code>boot.sh</code>文件,将<code>RUN_CMD</code>变量值修改成部署环境的JAVA实际路径</li> <li>执行 <code>chmod +x boot.sh</code> 命令给<code>boot.sh</code>增加执行权限</li> <li>执行 <code>./boot.sh start</code> 命令启动服务,支持 start/stop/restart(升级发布时需要手动kill原进程)/status命令</li> <li>服务启动后访问前端登录地址,使用超级管理员账户<code>admin</code>密码<code>Aa123!</code>登录</li></ol> <ul><li>管理后台前端fizz-admin-professional</li></ul> <p>zip资源包解压后取文件夹【fizzAdmin】放置于服务器静态数据存放目录 如:/home/data/</p> <p>nginx配置</p> <div class="language- extra-class"><pre class="language-text"><code>server {
2020-09-21 13:16:41 +08:00
listen 9000;
server_name localhost:9000;
location / {
root /home/data/fizzAdmin;
}
location ^~ /api {
rewrite ^/api/(.*) /$1 break;
proxy_pass http://127.0.0.1:8000;
}
}
# 注root中地址需与资源包存放目录路径一致
# 注http://127.0.0.1:8000 为管理后台(fizz-manager-professional)的访问地址
2020-10-27 15:45:29 +08:00
</code></pre></div><p>访问地址</p> <p>【资源部署服务器IP + 端口号】如http://127.0.0.1:9000/</p> <p>端口号与nginx配置端口号一致</p> <h3 id="fizz-gateway-community社区版"><a href="#fizz-gateway-community社区版" class="header-anchor">#</a> fizz-gateway-community社区版</h3> <p>说明如果使用apollo配置中心可把application.yml文件内容迁到配置中心apollo上应用名为fizz-gateway使用不使用apollo可去掉下面启动命令里的apollo参数。</p> <p>脚本启动:</p> <ol><li>下载fizz-gateway-community的最新代码修改application.yml配置文件里eureka、redis的配置使用maven构建好并把构建好的fizz-gateway-community-1.0.0.jar和boot.sh放同一目录</li> <li>修改boot.sh脚本的apollo连接JVM内存配置</li> <li>执行 <code>./boot.sh start</code> 命令启动服务,支持 start/stop/restart/status命令</li></ol> <p>IDE启动:</p> <ol><li>本地clone仓库上的最新代码</li> <li>将项目fizz-gateway导入IDE</li> <li>导入完成后设置项目启动配置及修改application.yml配置文件里eureka、redis的配置在VM选项中加入<code>-Denv=dev -Dapollo.meta=http://localhost:66</code>(Apollo配置中心地址)</li></ol> <p>jar启动:</p> <ol><li>本地clone仓库上的最新代码修改application.yml配置文件里eureka、redis的配置</li> <li>在项目根目录fizz-gateway-community下执行Maven命令<code>mvn clean package -DskipTests=true</code>打包</li> <li>进入target目录使用命令<code>java -jar -Denv=DEV -Dapollo.meta=http://localhost:66 fizz-gateway-community-1.0.0.jar</code>启动服务</li></ol> <p>网关访问地址格式:</p> <p>http://127.0.0.1:8600/proxy/[服务名]/[API Path]</p></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">上次更新:</span> <span class="time">2020-10-27 14:46</span></div></footer> <div class="page-nav"><p class="inner"><span class="prev">
2020-09-21 13:16:41 +08:00
2020-11-09 11:57:42 +08:00
<a href="/guide/intro/" class="prev">
2020-09-21 13:16:41 +08:00
什么是Fizz网关
2020-11-09 11:57:42 +08:00
</a></span> <span class="next"><a href="/guide/proxy/">
2020-09-21 13:16:41 +08:00
路由转发
</a>
</span></p></div> </main></div><div class="global-ui"></div></div>
2020-11-18 14:56:47 +08:00
<script src="/assets/js/app.60575df2.js" defer></script><script src="/assets/js/2.5b001851.js" defer></script><script src="/assets/js/12.f815cfa2.js" defer></script>
2020-09-21 13:16:41 +08:00
</body>
</html>