溫馨提示×

Swagger在Linux服務器上的部署步驟

小樊
48
2025-09-16 06:31:21
欄目: 云計算

Swagger在Linux服務器上的部署主要有Docker容器部署傳統手動部署兩種方式,以下是具體步驟:

一、Docker容器部署(推薦)

1. 安裝Docker

sudo apt update
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker

2. 部署Swagger Editor

docker pull swaggerapi/swagger-editor:v4.6.0
docker run -d -p 38080:8080 swaggerapi/swagger-editor:v4.6.0
# 訪問 http://服務器IP:38080 使用Editor

3. 部署Swagger UI

docker pull swaggerapi/swagger-ui:v4.15.5
docker run -d -p 38081:8080 swaggerapi/swagger-ui:v4.15.5
# 訪問 http://服務器IP:38081 使用UI

二、傳統手動部署

1. 安裝Java環境(Swagger依賴Java)

sudo apt update
sudo apt install -y openjdk-11-jdk

2. 配置Maven/Gradle依賴

  • Maven(在pom.xml中添加):
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

3. 編寫Swagger配置類(Spring Boot示例)

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
}

4. 啟動應用并訪問

  • 啟動Spring Boot應用:
java -jar your-application.jar --server.port=8080
  • 訪問Swagger UI:
http://服務器IP:8080/swagger-ui.html

三、可選:配置Web服務器(Nginx/Apache)

1. Nginx配置示例

sudo nano /etc/nginx/sites-available/swagger
server {
    listen 80;
    server_name localhost;
    root /var/www/html;  # 需將Swagger UI文件放至此目錄
    location / {
        try_files $uri $uri/ /index.html;
    }
}
sudo ln -s /etc/nginx/sites-available/swagger /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl restart nginx

2. Apache配置示例

sudo nano /etc/apache2/sites-available/swagger.conf
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /var/www/html
    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
sudo a2ensite swagger.conf
sudo systemctl restart apache2

注意事項

  • 確保服務器防火墻開放對應端口(如80、8080)。
  • 如需自定義Swagger UI,可修改swagger.json配置文件。
  • 生產環境建議使用Docker部署,便于維護和版本管理。

參考來源:

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女