[ go服务部署[go-fastdfs] ]


一.本地版本

systemctl start xxx

[Unit]
Description=gofastdfs service 
Wants=network.target 

[Service]
PIDFile=/home/gofastdfs/conf/app.pid
WorkingDirectory=/root/go-fastdfs/src/go-fastdfs-master
Environment="GO_FASTDFS_DIR=/root/go-fastdfs/src/go-fastdfs-master"
ExecStart=/root/go-fastdfs/src/go-fastdfs-master/fileserver server
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
Restart=always

[Install] 
WantedBy=multi-user.target

二. docker版本

FROM golang:1.21.0-alpine3.18

ENV GO_FASTDFS_DIR /usr/local/go-fastdfs

WORKDIR $GO_FASTDFS_DIR

COPY ./fileserver .

RUN set -xe; \
        mkdir -p $GO_FASTDFS_DIR; \
        mkdir -p $GO_FASTDFS_DIR/conf; \
        mkdir -p $GO_FASTDFS_DIR/data; \
        mkdir -p $GO_FASTDFS_DIR/files; \
        mkdir -p $GO_FASTDFS_DIR/log; \
        chmod +x $GO_FASTDFS_DIR/fileserver;

EXPOSE 8080

CMD ["./fileserver", "server"]