新聞中心
如何理解sftp server服務(wù)SftpGo,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
成都創(chuàng)新互聯(lián)公司成立十年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、域名與空間、網(wǎng)絡(luò)營銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀、功能強(qiáng)大、用戶體驗(yàn)好、性價(jià)比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,成都創(chuàng)新互聯(lián)公司通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計(jì)的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。
SftpGo是一款高性能、功能齊全、易用可配置的一款sftp server 服務(wù),基于go開發(fā)。目前在linux、macos下均可以穩(wěn)定運(yùn)行(windows個(gè)人未測試)。數(shù)據(jù)可以持久化到主流的數(shù)據(jù)庫,諸如MySQL、PostgreSQL、Sqlilte.
sftpgo主要組成
服務(wù)端主程序: sftpgosever
cli腳本: sftpcli
數(shù)據(jù)目錄
conf存儲(chǔ)服務(wù)配置文件
data創(chuàng)建sftp用戶目錄
backups存儲(chǔ)應(yīng)用備份數(shù)據(jù)
本次基于k8s運(yùn)行服務(wù)、mysql5.7做持久化存儲(chǔ)、騰訊云NFS服務(wù)做數(shù)據(jù)目錄、configmap掛載配置文件、nginx stream提供域名映射tcp訪問
構(gòu)建鏡像
直接拉取
docker pull taylordang/sftpgo:v1.0
本地基于Dockerfile構(gòu)建
查看具體文檔: [https://github.com/dtcka/sftpgo/tree/master/docker/sftpgo/alpine](https://github.com/dtcka/sftpgo/tree/master/docker/sftpgo/alpine)
構(gòu)建腳手架
構(gòu)建腳本: [https://github.com/dtcka/sftpgo/blob/master/docker/rest-api-cli/Dockerfile](https://github.com/dtcka/sftpgo/blob/master/docker/rest-api-cli/Dockerfile)
標(biāo)準(zhǔn)配置文件
{ "sftpd": { "bind_port": 2022, "bind_address": "0.0.0.0", "idle_timeout": 15, "max_auth_tries": 0, "umask": "0022", "banner": "", "upload_mode": 0, "actions": { "execute_on": [], "command": "", "http_notification_url": "" }, "keys": [], "kex_algorithms": [], "ciphers": [], "macs": [], "login_banner_file": "", "setstat_mode": 0, "enabled_ssh_commands": [ "md5sum", "sha1sum", "cd", "pwd", "scp" ], "keyboard_interactive_auth_program": "", "proxy_protocol": 0, "proxy_allowed": [] }, "data_provider": { "driver": "mysql", "name": "sftpgo", "host": "xxxxxx", "port": 9999, "username": "sftpgo", "password": "xxxxx", "sslmode": 0, "connection_string": "", "users_table": "users", "manage_users": 1, "track_quota": 2, "pool_size": 0, "users_base_dir": "", "actions": { "execute_on": [], "command": "", "http_notification_url": "" }, "external_auth_program": "", "external_auth_scope": 0, "credentials_path": "credentials", "pre_login_program": "" }, "httpd": { "bind_port": 8080, "bind_address": "0.0.0.0", "templates_path": "templates", "static_files_path": "static", "backups_path": "backups", "auth_user_file": "", "certificate_file": "", "certificate_key_file": "" } }
運(yùn)行應(yīng)用
以上服務(wù)配置準(zhǔn)備完成之后,運(yùn)行容器會(huì)在數(shù)據(jù)庫中自動(dòng)生成對應(yīng)的表
提供服務(wù)外部入庫
1. 設(shè)置內(nèi)網(wǎng)服務(wù)入口
apiVersion: v1 kind: Service metadata: name: sftpgo namespace: sftp spec: clusterIP: xxxx externalTrafficPolicy: Cluster ports: - name: 8080-8080-tcp nodePort: 31807 port: 8080 protocol: TCP targetPort: 8080 - name: 2022-2022-tcp nodePort: 30865 port: 2022 protocol: TCP targetPort: 2022 selector: k8s-app: sftpgo qcloud-app: sftpgo sessionAffinity: None type: LoadBalancer status: loadBalancer: ingress: - ip: xxxx
2. 設(shè)置外部服務(wù)入口
- nginx配置文件 ``` apiVersion: v1 data: nginx.conf: |- user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } stream { server { listen 2022; proxy_pass sftpgo服務(wù)對應(yīng)的內(nèi)網(wǎng)ip:2022; } } kind: ConfigMap metadata: name: tcp-config namespace: sftp
##### 3.測試下服務(wù)狀態(tài)以及數(shù)據(jù)目錄權(quán)限 
測試ok:數(shù)據(jù)權(quán)限UID GID需要設(shè)置為1003.
##### 4. 設(shè)置域名解析到nginx的externalIps即可實(shí)現(xiàn)域名訪問  ---
附:
看完上述內(nèi)容,你們掌握如何理解sftp server服務(wù)SftpGo的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前題目:如何理解sftpserver服務(wù)SftpGo
分享網(wǎng)址:http://ef60e0e.cn/article/ghsgsc.html