使用Docker部署PDF多功能工具Stirling-PDF

1.服务器上安装docker

安装比较简单,这种安装的Docker不是最新版本,不过对于学习够用了,依次执行下面命令进行安装。

bash 复制代码
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

查看是否安装成功

bash 复制代码
$ docker -v
Docker version 17.12.1-ce, build 7390fc6

Docker启动与停止

安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令:

启动docker

bash 复制代码
sudo service docker start

停止docker

bash 复制代码
sudo service docker stop

重启docker

bash 复制代码
sudo service docker restart

或者是

bash 复制代码
systemctl restart docker

2、配置服务器的nginx反向代理,使用域名访问。

我使用的是腾讯云服务器。首先要确认服务器上面已经开通8080这个端口。

nginx配置文件内容如下:

bash 复制代码
#user  nobody;
worker_processes  auto;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;

    gzip  on;

    server {
        listen       80;
        server_name  xxxxxxx.com;  # 这里是你的域名

        client_max_body_size 200M;  # 修改文件大小的限制,你的网站能够处理的文件的最大限制

        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        location / {
            #把http的域名请求转成https
            return 301 https://$host$request_uri;
        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    # HTTPS server
    server {
        listen       443 ssl;
        server_name  xxxxxxx.com;  # 这里是你的域名

        client_max_body_size 200M;  # 修改文件大小的限制,你的网站能够处理的文件的最大限制

        # 支持跨域
        add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,access-control-allow-origin,Token,Authorization';
        add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT,DELETE,HEAD,PATCH';
        add_header 'Access-Control-Allow-Credentials' 'true';

        ssl_certificate      xxxxxxxxxxxxxx;  # 这里是你的域名证书文件
        ssl_certificate_key  xxxxxxxxxxxxxx;  # 这里是你的域名证书文件

        # ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_protocols TLSv1.2 TLSv1.3;

        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;

        location / {
            proxy_pass http://127.0.0.1:8080;     # 这里是8080端口
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_ssl_verify off;
            proxy_ssl_session_reuse on;
        }
    }
}

3、拉取Stirling-PDF的docker镜像

bash 复制代码
docker pull https://hub.docker.com/r/frooodle/s-pdf

4、执行docker命令创建容器

bash 复制代码
docker run -p 8080:8080 frooodle/s-pdf

5、在浏览器上面输入你的域名就可以访问了。

相关推荐
Delphi菜鸟43 分钟前
docker 部署RustDesk服务
运维·docker·容器
今晚务必早点睡2 小时前
从零到上线:Docker、Docker Compose 与 Runtime 安装部署全指南(含实战示例与应用场景)
运维·docker·容器
weixin_584121433 小时前
vue3+ts导出PDF
javascript·vue.js·pdf
Access开发易登软件5 小时前
Access开发导出PDF的N种姿势,你get了吗?
后端·低代码·pdf·excel·vba·access·access开发
Android小码家5 小时前
Vscode + docker + qt 网络监听小工具
vscode·qt·docker
Clownseven7 小时前
Mattermost教程:用Docker搭建自己的开源Slack替代品 (团队聊天)
docker·容器·开源
❀͜͡傀儡师7 小时前
Docker部署Drawnix开源白板工具
docker·容器·开源·drawnix
❀͜͡傀儡师7 小时前
Docker部署Lunalytics开源监控工具
docker·容器·开源·lunalytics
沐雪架构师10 小时前
Docling将pdf转markdown以及与AI生态集成
人工智能·pdf