以前一直用的eolinker的免費版,可是人數有限,因此想找個免費開源的API管理平臺,而後就選擇了CRAP-API。php
個人環境是以前部署的是LNMP,後面又增長的JDK和Tomcat沒部署的朋友能夠使用oneinstack一鍵自動部署來安裝好。css
Maven部署 | 其實正常來講,直接下載編譯好的安裝包更改下數據庫配置就闊以了,可是我當時用NGINX忘記將靜態資源跳轉,一直加載不到靜態資源,因此克隆了源碼,用Maven從新又打了包。html
# cd oneinstack # ./vhost.sh ####################################################################### # OneinStack for CentOS/RedHat 6+ Debian 8+ and Ubuntu 14+ # # For more information please visit https://oneinstack.com # ####################################################################### Please choose to use environment: 1. Use php 2. Use java Please input a number:(Default 1 press Enter) 1 What Are You Doing? 1. Use HTTP Only 2. Use your own SSL Certificate and Key 3. Use Let's Encrypt to Create SSL Certificate and Key q. Exit Please input the correct option: 3 Please input domain(example: www.example.com): <域名> domain=<域名> Please input the directory for the domain:<域名> : (Default directory: /data/wwwroot/<域名>): Virtual Host Directory=/data/wwwroot/<域名> Create Virtul Host directory...... set permissions of Virtual Host directory...... Do you want to add more domain name? [y/n]: n Do you want to redirect all HTTP requests to HTTPS? [y/n]: n [2019年 10月 16日 星期三 09:27:58 CST] Single domain='<域名>' [2019年 10月 16日 星期三 09:27:58 CST] Getting domain auth token for each domain [2019年 10月 16日 星期三 09:27:58 CST] Getting webroot for domain='<域名>' [2019年 10月 16日 星期三 09:27:58 CST] Getting new-authz for domain='<域名>' [2019年 10月 16日 星期三 09:28:00 CST] The new-authz request is ok. [2019年 10月 16日 星期三 09:28:00 CST] Verifying:<域名> [2019年 10月 16日 星期三 09:28:05 CST] Pending [2019年 10月 16日 星期三 09:28:08 CST] Pending [2019年 10月 16日 星期三 09:28:10 CST] Pending [2019年 10月 16日 星期三 09:28:13 CST] Pending [2019年 10月 16日 星期三 09:28:16 CST] Pending [2019年 10月 16日 星期三 09:28:19 CST] Pending [2019年 10月 16日 星期三 09:28:22 CST] Success [2019年 10月 16日 星期三 09:28:22 CST] Verify finished, start to sign. [2019年 10月 16日 星期三 09:28:24 CST] Cert success. -----BEGIN CERTIFICATE----- xxxxxxxxxxxxxxxx -----END CERTIFICATE----- [2019年 10月 16日 星期三 09:28:24 CST] Your cert is in /root/.acme.sh/<域名>/<域名>.cer [2019年 10月 16日 星期三 09:28:24 CST] Your cert key is in /root/.acme.sh/<域名>/<域名>.key [2019年 10月 16日 星期三 09:28:25 CST] The intermediate CA cert is in /root/.acme.sh/<域名>/ca.cer [2019年 10月 16日 星期三 09:28:25 CST] And the full chain certs is there: /root/.acme.sh/<域名>/fullchain.cer Do you want to add hotlink protection? [y/n]: n Allow Rewrite rule? [y/n]: n Allow Nginx/Tengine/OpenResty access_log? [y/n]: y You access log file=/data/wwwlogs/<域名>_nginx.log nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful Reload Nginx...... ####################################################################### # OneinStack for CentOS/RedHat 6+ Debian 8+ and Ubuntu 14+ # # For more information please visit https://oneinstack.com # ####################################################################### Your domain: <域名> Virtualhost conf: /usr/local/nginx/conf/vhost/<域名>.conf Directory of: /data/wwwroot/<域名> Let's Encrypt SSL Certificate:/usr/local/nginx/conf/ssl/<域名>.crt SSL Private Key: /usr/local/nginx/conf/ssl/<域名>.key
注意靜態資源的跳轉不要忘記了!!!不要忘記了!!!不要忘記了!!!我就掉在這個坑裏過...修改完成後,從新載入下配置文件。java
# cd /usr/local/nginx/conf/vhost/ # vi <域名>.conf server { listen 80; listen 443 ssl http2; ssl_certificate /usr/local/nginx/conf/ssl/xxxxx.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/xxxxx.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_prefer_server_ciphers on; ssl_session_timeout 10m; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_buffer_size 1400; add_header Strict-Transport-Security max-age=15768000; ssl_stapling on; ssl_stapling_verify on; server_name xxxx; access_log /data/wwwlogs/xxxxxx_nginx.log combined; index index.html index.htm index.jsp; root /data/wwwroot/xxxxx/; #error_page 404 /404.html; #error_page 502 /502.html; location / { proxy_set_header Host $host:80; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x-forwarded-for $remote_addr; proxy_pass http://127.0.0.1:8080; } location ~ [^/]\.php(/|$) { # comment try_files $uri =404; to enable pathinfo try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; #include pathinfo.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { proxy_pass http://127.0.0.1:8080; expires 30d; } location ~ .*\.(js|css)?$ { proxy_pass http://127.0.0.1:8080; expires 12h; } } # service nginx reload
CRAP歷史版本源碼|安裝包下載 | 我這邊部署的時候,使用的是最新的包v8.1.5
版本的,這邊推薦直接下載編譯好的包,並經過遠程工具SCRT上傳到服務器上。mysql
# unzip CrapApi.v8.1.5.zip
這是便於後面方便直接導入sql文件。nginx
# cd CrapApi.v8.1.5 # ll 總用量 120 -rw-r--r-- 1 root root 112251 10月 26 16:52 2019-10-26.V8.1.5.sql drwxr-xr-x 5 root root 4096 10月 26 16:56 api -rw-r--r-- 1 root root 583 2月 17 2019 readme.txt # pwd /root/CrapApi.v8.1.5/CrapApi.v8.1.5 # mv 2019-10-26.V8.1.5.sql api.sql # ll 總用量 120 drwxr-xr-x 5 root root 4096 10月 26 16:56 api -rw-r--r-- 1 root root 112251 10月 26 16:52 api.sql -rw-r--r-- 1 root root 583 2月 17 2019 readme.txt
# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 150536 Server version: 5.6.42-log MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL [(none)]> create database api_test; Query OK, 1 row affected (0.00 sec) MySQL [(none)]> use api_test; Database changed MySQL [api_test]> source /root/CrapApi.v8.1.5/CrapApi.v8.1.5/api.sql Query OK, 0 rows affected (0.00 sec) : : : Query OK, 0 rows affected (0.00 sec) MySQL [api_test]>
這裏只修改了數據的配置文件config.properties
,日誌的未作修改。web
# cd api/WEB-INF/classes/ # vi config.properties
# cd /usr/local/tomcat/webapps/ # rm -rvf *
# cd /root/CrapApi.v8.1.5/CrapApi.v8.1.5 # mv api ROOT # ll 總用量 120 -rw-r--r-- 1 root root 112251 10月 26 16:52 api.sql -rw-r--r-- 1 root root 583 2月 17 2019 readme.txt drwxr-xr-x 5 root root 4096 10月 26 16:56 ROOT
# cd CrapApi.v8.1.5/CrapApi.v8.1.5/ # cp -rvf ROOT/ /usr/local/tomcat/webapps/ # cd /usr/local/tomcat/bin/ # ./ startup.sh