linux

Swagger在Linux服务器上的部署步骤

小樊
49
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依赖

<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. 启动应用并访问

java -jar your-application.jar --server.port=8080
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

注意事项

参考来源:

0
看了该问题的人还看了