Fizz Gateway 1.1.1版本發(fā)布同欠!支持更多方便的后臺管理功能特性:(Java 語言中最好的API網關)
1、禁止default網關分組的編輯刪除角塑;
2、修改插件配置時同時向網關推送數據淘讥;
3圃伶、限制插件名稱唯一,網關分組蒲列、插件名稱窒朋、增加appID字段長度限制;
4蝗岖、修復插件管理校驗bug侥猩,插件表單定義可為空;
5剪侮、增加路由管理詳情字段必填標記拭宁;
6、修復管理后臺路由配置的app為空時, 授權插件無法獲取此路由配置的問題瓣俯;
7杰标、默認關閉服務白名單;
安裝使用
安裝依賴
安裝以下依賴軟件:
- Redis 2.8或以上版本
- MySQL 5.7或以上版本
- Apollo配置中心 (可選)
- Eureka服務注冊中心
安裝MySQL
- 操作系統(tǒng) CentOS 6.5
- MySQL 5.7.30
- 下載MySQL
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-1.el6.x86_64.rpm-bundle.tar
- 解壓
tar -xvf mysql-5.7.30-1.el6.x86_64.rpm-bundle.tar
- 安裝
sudo yum install mysql-community-{server,client,common,libs}-*
- 啟動
sudo service mysqld start
啟動成功會顯示以下信息:
[root@localhost ~]# sudo service mysqld start
Initializing MySQL database: [ OK ]
Starting mysqld: [ OK ]
- 初始密碼
sudo grep 'temporary password' /var/log/mysqld.log
- 使用初始密碼登錄
mysql -uroot -p
- 修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
- 退出登錄
quit
安裝Redis 6.0.8
- 下載解壓并編譯
$ 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
- 啟動redis
運行編譯后的文件:
$ src/redis-server
- 客戶端連接
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
安裝Apollo配置中心
說明: apollo是可選組件彩匕,如果不使用apollo可使用本地配置文件(application.yml), 如果不使用apollo可跳過此步驟腔剂。
安裝Eureka服務注冊中心
環(huán)境要求:
- JDK 1.8 或以上版本
- Tomcat 6.0.10 或以上版本 (如使用spring cloud已內置)
- 安裝JDK 1.8
1)下載JDK,如: jdk-8u192-linux-x64.tar.gz
tar -zxvf jdk-8u192-linux-x64.tar.gz
mv jdk1.8.0_192 /usr/local/
2)設置JDK環(huán)境變量驼仪,將下面內容追回到/etc/profile文件后面
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
3)執(zhí)行以下命令全環(huán)境變量生效:
source /etc/profile
4)查看是否安裝成功
java -version
- 安裝eureka
1)使用IDE創(chuàng)建一個spring boot項目掸犬,如:sc-eureka-server
pom.xml:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
在啟動類上添加@EnableEurekaServer注解來啟用Euerka注冊中心功能:
@SpringBootApplication
@EnableEurekaServer
public class ScEurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(ScEurekaServerApplication.class, args);
}
}
application.properties配置文件:
spring.application.name=sc-eureka-server
server.port=8761
eureka.instance.hostname=localhost
eureka.client.registerWithEureka=false
eureka.client.fetchRegistry=false
eureka.server.enableSelfPreservation=false
2) maven構建并運行sc-eureka-server應用, 啟動后訪問地址http://localhost:8761/可以看到Eureka注冊中心的界面
3)把target/sc-eureka-server-1.0.0.jar傳到linux服務器上運行. (僅以單機部署為例)
nohub java -jar sc-eureka-server-1.0.0.jar &
4)eureka客戶端的注冊地址為:http://localhost:8761/eureka/ (替換localhost為服務器的IP)
eureka.client.serviceUrl.defaultZone = http://localhost:8761/eureka/
安裝Fizz
管理后臺
從github的releases(https://github.com/wehotel/fizz-gateway-community/releases)下載 fizz-manager-professional 和 fizz-admin-professional 的安裝包
- 管理后臺服務端(fizz-manager-professional)
- 首次安裝執(zhí)行
fizz-manager-professional-1.0.0-mysql.sql
數據庫腳本 - 將
application-prod.yml
、boot.sh
绪爸、fizz-manager-professional-1.0.0.jar
拷貝到/data/webapps/fizz-manager-professional
目錄下 - 修改
application-prod.yml
文件湾碎,將相關配置修改成部署環(huán)境的配置 - 修改
boot.sh
文件,將RUN_CMD
變量值修改成部署環(huán)境的JAVA實際路徑 - 執(zhí)行
chmod +x boot.sh
命令給boot.sh
增加執(zhí)行權限 - 執(zhí)行
./boot.sh start
命令啟動服務奠货,支持 start/stop/restart/status命令 - 服務啟動后訪問 http://IP:8000/fizz-manager (將IP替換成服務部署機器IP地址)介褥,使用超級管理員賬戶
admin
密碼Aa123!
登錄
- 管理后臺前端(fizz-admin-professional)
zip資源包解壓后,取文件夾【fizzAdmin】放置于服務器靜態(tài)數據存放目錄 如:/home/data/
nginx配置
server {
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)的訪問地址
訪問地址
【資源部署服務器IP + 端口號】如:http://127.0.0.1:9000/
(端口號與nginx配置端口號一致)
fizz-gateway-community社區(qū)版
說明:如果使用apollo配置中心,可把application.yml文件內容遷到配置中心(apollo上應用名為:fizz-gateway)柔滔;使用不使用apollo可去掉下面啟動命令里的apollo參數溢陪。
腳本啟動:
- 下載fizz-gateway-community的最新代碼,修改application.yml配置文件里eureka睛廊、redis的配置形真,使用maven構建好并把構建好的fizz-gateway-community-1.0.0.jar和boot.sh放同一目錄
- 修改boot.sh腳本的apollo連接,JVM內存配置超全,
- 執(zhí)行
./boot.sh start
命令啟動服務咆霜,支持 start/stop/restart/status命令
IDE啟動:
- 本地clone倉庫上的最新代碼
- 將項目fizz-gateway導入IDE
- 導入完成后設置項目啟動配置及修改application.yml配置文件里eureka、redis的配置卵迂,在VM選項中加入
-Denv=dev -Dapollo.meta=http://localhost:66
(Apollo配置中心地址)
jar啟動:
- 本地clone倉庫上的最新代碼裕便,修改application.yml配置文件里eureka、redis的配置
- 在項目根目錄fizz-gateway-community下執(zhí)行Maven命令
mvn clean package -DskipTests=true
打包 - 進入target目錄见咒,使用命令
java -jar -Denv=DEV -Dapollo.meta=http://localhost:66 fizz-gateway-community-1.0.0.jar
啟動服務
網關訪問地址格式:
http://127.0.0.1:8600/proxy/[服務名]/[API Path]