kenan 1 jaar geleden
bovenliggende
commit
fd995b468b
100 gewijzigde bestanden met toevoegingen van 504 en 2 verwijderingen
  1. 35 2
      README.md
  2. 7 0
      composer.json
  3. 64 0
      composer.lock
  4. 18 0
      deploy/dev/config/env.php
  5. 49 0
      deploy/dev/config/servers.php
  6. 2 0
      deploy/ignore/.gitignore
  7. 91 0
      deploy/nginx/conf.d/upload_php.conf
  8. 76 0
      deploy/nginx/conf.d/upload_view.conf
  9. 18 0
      deploy/prod/config/env.php
  10. 49 0
      deploy/prod/config/servers.php
  11. 12 0
      deploy/shell/deploy_upload_php.sh
  12. 17 0
      deploy/test/config/env.php
  13. 17 0
      deploy/test/config/ppvod.env.php
  14. 49 0
      deploy/test/config/servers.php
  15. BIN
      public/app_static/chuji/avatars/a_001.ceb
  16. BIN
      public/app_static/chuji/avatars/a_002.ceb
  17. BIN
      public/app_static/chuji/avatars/a_003.ceb
  18. BIN
      public/app_static/chuji/avatars/a_004.ceb
  19. BIN
      public/app_static/chuji/avatars/a_005.ceb
  20. BIN
      public/app_static/chuji/avatars/a_006.ceb
  21. BIN
      public/app_static/chuji/avatars/a_007.ceb
  22. BIN
      public/app_static/chuji/avatars/a_008.ceb
  23. BIN
      public/app_static/chuji/avatars/a_009.ceb
  24. BIN
      public/app_static/chuji/avatars/a_010.ceb
  25. BIN
      public/app_static/chuji/avatars/a_011.ceb
  26. BIN
      public/app_static/chuji/avatars/b1/08MvJ5Zj.ceb
  27. BIN
      public/app_static/chuji/avatars/b1/0VgzXv8C.ceb
  28. BIN
      public/app_static/chuji/avatars/b1/0fSiUgdN.ceb
  29. BIN
      public/app_static/chuji/avatars/b1/0n0N0m74.ceb
  30. BIN
      public/app_static/chuji/avatars/b1/0ySy0PBd.ceb
  31. BIN
      public/app_static/chuji/avatars/b1/11D8CWG1.ceb
  32. BIN
      public/app_static/chuji/avatars/b1/1eaXux1a.ceb
  33. BIN
      public/app_static/chuji/avatars/b1/203z0bUo.ceb
  34. BIN
      public/app_static/chuji/avatars/b1/2436129P.ceb
  35. BIN
      public/app_static/chuji/avatars/b1/2z8Ud88D.ceb
  36. BIN
      public/app_static/chuji/avatars/b1/3C37z9RP.ceb
  37. BIN
      public/app_static/chuji/avatars/b1/3yLdjbaG.ceb
  38. BIN
      public/app_static/chuji/avatars/b1/3yh49244.ceb
  39. BIN
      public/app_static/chuji/avatars/b1/4mMwDB0a.ceb
  40. BIN
      public/app_static/chuji/avatars/b1/51p7YDSE.ceb
  41. BIN
      public/app_static/chuji/avatars/b1/53q99k1k.ceb
  42. BIN
      public/app_static/chuji/avatars/b1/5D9q5B6l.ceb
  43. BIN
      public/app_static/chuji/avatars/b1/5qMoFVQv.ceb
  44. BIN
      public/app_static/chuji/avatars/b1/5z88Hj3u.ceb
  45. BIN
      public/app_static/chuji/avatars/b1/67R3F793.ceb
  46. BIN
      public/app_static/chuji/avatars/b1/69119uuf.ceb
  47. BIN
      public/app_static/chuji/avatars/b1/6Gpv8m8z.ceb
  48. BIN
      public/app_static/chuji/avatars/b1/6TXmpI1D.ceb
  49. BIN
      public/app_static/chuji/avatars/b1/6Z7BB299.ceb
  50. BIN
      public/app_static/chuji/avatars/b1/72LZ98MY.ceb
  51. BIN
      public/app_static/chuji/avatars/b1/7ICUq0Wd.ceb
  52. BIN
      public/app_static/chuji/avatars/b1/7iZT7Ljx.ceb
  53. BIN
      public/app_static/chuji/avatars/b1/87vmjkma.ceb
  54. BIN
      public/app_static/chuji/avatars/b1/8SUzx0xS.ceb
  55. BIN
      public/app_static/chuji/avatars/b1/8eP115sm.ceb
  56. BIN
      public/app_static/chuji/avatars/b1/910PTqia.ceb
  57. BIN
      public/app_static/chuji/avatars/b1/9Rdy6dPS.ceb
  58. BIN
      public/app_static/chuji/avatars/b1/9rM8M9qP.ceb
  59. BIN
      public/app_static/chuji/avatars/b1/A0v0cV0v.ceb
  60. BIN
      public/app_static/chuji/avatars/b1/AOTGvJi1.ceb
  61. BIN
      public/app_static/chuji/avatars/b1/Bb9lJj79.ceb
  62. BIN
      public/app_static/chuji/avatars/b1/D8Sz67go.ceb
  63. BIN
      public/app_static/chuji/avatars/b1/Ee7u15vZ.ceb
  64. BIN
      public/app_static/chuji/avatars/b1/EuBeHYz2.ceb
  65. BIN
      public/app_static/chuji/avatars/b1/F3FqCOQ7.ceb
  66. BIN
      public/app_static/chuji/avatars/b1/FbZP9F2R.ceb
  67. BIN
      public/app_static/chuji/avatars/b1/Ie89UuAM.ceb
  68. BIN
      public/app_static/chuji/avatars/b1/Jo4Fp7p9.ceb
  69. BIN
      public/app_static/chuji/avatars/b1/Kz6Fd1KW.ceb
  70. BIN
      public/app_static/chuji/avatars/b1/L9933Qlh.ceb
  71. BIN
      public/app_static/chuji/avatars/b1/LH33d1eE.ceb
  72. BIN
      public/app_static/chuji/avatars/b1/LNh8L1N1.ceb
  73. BIN
      public/app_static/chuji/avatars/b1/MERquYZm.ceb
  74. BIN
      public/app_static/chuji/avatars/b1/Ns3sCdiI.ceb
  75. BIN
      public/app_static/chuji/avatars/b1/OO7L8L8C.ceb
  76. BIN
      public/app_static/chuji/avatars/b1/OrQ11O2n.ceb
  77. BIN
      public/app_static/chuji/avatars/b1/Pba5pprg.ceb
  78. BIN
      public/app_static/chuji/avatars/b1/Q9rvoX4x.ceb
  79. BIN
      public/app_static/chuji/avatars/b1/QDtiT2z2.ceb
  80. BIN
      public/app_static/chuji/avatars/b1/QlWpJvPQ.ceb
  81. BIN
      public/app_static/chuji/avatars/b1/Rtgvfy21.ceb
  82. BIN
      public/app_static/chuji/avatars/b1/SJRPRP2j.ceb
  83. BIN
      public/app_static/chuji/avatars/b1/SmnI31sY.ceb
  84. BIN
      public/app_static/chuji/avatars/b1/U1zwhawC.ceb
  85. BIN
      public/app_static/chuji/avatars/b1/Vyy5u7Yw.ceb
  86. BIN
      public/app_static/chuji/avatars/b1/W38epX9c.ceb
  87. BIN
      public/app_static/chuji/avatars/b1/XPxYQx06.ceb
  88. BIN
      public/app_static/chuji/avatars/b1/Xb6Q555t.ceb
  89. BIN
      public/app_static/chuji/avatars/b1/Y0zDSh7X.ceb
  90. BIN
      public/app_static/chuji/avatars/b1/YH6164aU.ceb
  91. BIN
      public/app_static/chuji/avatars/b1/YSuwzz44.ceb
  92. BIN
      public/app_static/chuji/avatars/b1/Z7Ux8R62.ceb
  93. BIN
      public/app_static/chuji/avatars/b1/ZNzVT6ZE.ceb
  94. BIN
      public/app_static/chuji/avatars/b1/Zf82zb70.ceb
  95. BIN
      public/app_static/chuji/avatars/b1/bRfrJzpP.ceb
  96. BIN
      public/app_static/chuji/avatars/b1/cTPTTrRY.ceb
  97. BIN
      public/app_static/chuji/avatars/b1/dT5a9DU6.ceb
  98. BIN
      public/app_static/chuji/avatars/b1/eeHHf2fz.ceb
  99. BIN
      public/app_static/chuji/avatars/b1/exWKRWwx.ceb
  100. BIN
      public/app_static/chuji/avatars/b1/iCkaImmM.ceb

+ 35 - 2
README.md

@@ -1,3 +1,36 @@
-# Image_upload_serve
+# 加密解密上传图片、文件
 
-图片上传服务
+
+## 依赖
+1. php80+
+
+## 功能
+1. 支持大文件分片上传(PLUpload)
+2. web前端在线解密并渲染ceb(推荐)
+3. 上传的图片类加密,其他文件不加密.
+4. 提供服务器组
+5. 图片在线解密(不推荐)
+
+## 使用范例
+1. 【普通表单】加密和解密请查看 demo_form.html, 本地访问 [http://upload_php.3g.me/demo_form.html](http://upload_php.3g.me/demo_form.html)
+2. 【Plupload组件】本地访问 [http://upload_php.3g.me/demo_plupload.html](http://upload_php.3g.me/demo_plupload.html)
+
+## 部署
+1. 请查看deploy目录。把deploy/[xxx环境]/config/env.php和server.php拷贝到src/config目录里
+2. php.ini 设置post_max_size, upload_max_filesize, max_execution_time, upload_tmp_dir
+3. nginx.conf也需要设置 `fastcgi_` 相关
+```
+    fastcgi_connect_timeout 300;
+    fastcgi_send_timeout 300;
+    fastcgi_read_timeout 300;
+    fastcgi_buffer_size 64k;
+    fastcgi_buffers 4 64k;
+    fastcgi_busy_buffers_size 128k;
+    fastcgi_temp_file_write_size 128k;
+```
+4. composer install -vvv
+5.chmod -R 777 ./src/storage ./public
+
+## 常用修改
+1. `src/config/server.php` 修改服务器组,记得先获取当前服务器IP.
+2. 本地开发IP,已经适配127,192,172,10

+ 7 - 0
composer.json

@@ -0,0 +1,7 @@
+{
+    "name": "jim/upload_php",
+    "type": "library",
+    "require": {
+        "aliyuncs/oss-sdk-php": "^2.4"
+    }
+}

+ 64 - 0
composer.lock

@@ -0,0 +1,64 @@
+{
+    "_readme": [
+        "This file locks the dependencies of your project to a known state",
+        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
+        "This file is @generated automatically"
+    ],
+    "content-hash": "860a30e7a87e4eaa2b3cb2e89a24c3a5",
+    "packages": [
+        {
+            "name": "aliyuncs/oss-sdk-php",
+            "version": "v2.4.3",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/aliyun/aliyun-oss-php-sdk.git",
+                "reference": "4ccead614915ee6685bf30016afb01aabd347e46"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/aliyun/aliyun-oss-php-sdk/zipball/4ccead614915ee6685bf30016afb01aabd347e46",
+                "reference": "4ccead614915ee6685bf30016afb01aabd347e46",
+                "shasum": ""
+            },
+            "require": {
+                "php": ">=5.3"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "*",
+                "satooshi/php-coveralls": "*"
+            },
+            "type": "library",
+            "autoload": {
+                "psr-4": {
+                    "OSS\\": "src/OSS"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "MIT"
+            ],
+            "authors": [
+                {
+                    "name": "Aliyuncs",
+                    "homepage": "http://www.aliyun.com"
+                }
+            ],
+            "description": "Aliyun OSS SDK for PHP",
+            "homepage": "http://www.aliyun.com/product/oss/",
+            "support": {
+                "issues": "https://github.com/aliyun/aliyun-oss-php-sdk/issues",
+                "source": "https://github.com/aliyun/aliyun-oss-php-sdk/tree/v2.4.3"
+            },
+            "time": "2021-08-25T13:03:58+00:00"
+        }
+    ],
+    "packages-dev": [],
+    "aliases": [],
+    "minimum-stability": "stable",
+    "stability-flags": [],
+    "prefer-stable": false,
+    "prefer-lowest": false,
+    "platform": [],
+    "platform-dev": [],
+    "plugin-api-version": "2.1.0"
+}

+ 18 - 0
deploy/dev/config/env.php

@@ -0,0 +1,18 @@
+<?php
+/**
+ * 配置环境.
+ */
+return [
+    'app_env' => 'local',
+    'server_ip' => '172.33.1.11',   // 因为容器里,php只能获取到容器的ip172.33.1.11,非容器需要手动改成服务器外网第一个IP.
+    'token' => 'GAkucH8',   // 通信的token
+    'app_secret' => 'SYtQo1ep4GvNCvac', // APP上传鉴权密钥,写死.
+    'aliyun_oss' => [
+        'bucketName' => 'test-chituma',
+        'bucketDomain' => '//test-chituma.oss-cn-hangzhou.aliyuncs.com',
+        'accessKeyId' => 'LTAI5tMjpFpKQd3UWAPDwW3F',
+        'accessKeySecret' => 'pbzVBCFx6jl9MDqFyfYrCDQGlBIq4a',
+        'endPoint' => 'oss-cn-hangzhou.aliyuncs.com',
+    ],
+    'video_base_path' => '/Users/jim/works/company/sanguo/projectes/upload_php/public/files/local',  // ppvod上传目录路径
+];

+ 49 - 0
deploy/dev/config/servers.php

@@ -0,0 +1,49 @@
+<?php
+/**
+ * 服务器组,访问资源设置. 每个url尾部不包含/
+ */
+
+return [
+    '127.0.0.1' => [
+        'flag' => 'local',
+        'url' => 'http://upload_view.3g.me',
+        'source_ip' => '127.0.0.1', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/home/works/upload_php/public/files',  // 源站物理根目录路径.
+    ],
+    '45.204.8.106' => [
+        'flag' => 'test01',
+        'url' => 'http://upload_view.test.wg8.site',
+        'source_ip' => '45.204.8.106', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/var/www/upload_php/public',  // 源站物理根目录路径.
+    ],
+    '45.32.101.29' => [
+        'flag' => 'test_ppvod',
+        'url' => 'http://upload-ppvod.test.wg8.site',
+        'source_ip' => '45.32.101.29', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/home/works/uploads',  // 源站物理根目录路径.
+    ],
+    '137.220.244.208' => [
+        'flag' => 'v1',
+        'url' => 'http://cn01.v.zzhxjdwx.com',
+        'source_ip' => '137.220.244.208', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/home/work/data',  // 源站物理根目录路径.
+    ],
+    '137.220.244.183' => [
+        'flag' => 'f1',
+        'url' => 'http://cn01.f.meirenchong.net',
+        'source_ip' => '137.220.244.183', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/home/works/upload_php/public/files',  // 源站物理根目录路径.
+    ],
+    '137.220.244.113' => [
+        'flag' => 'f2',
+        'url' => 'http://cn02.f.meirenchong.net',
+        'source_ip' => '137.220.244.183', // 源站IP
+        'source_port' => '8002', // 源站端口
+        'source_base_path' => '/home/works/upload_php/public/app_static',  // 源站物理根目录路径.
+    ],
+];

+ 2 - 0
deploy/ignore/.gitignore

@@ -0,0 +1,2 @@
+*
+!.gitignore

+ 91 - 0
deploy/nginx/conf.d/upload_php.conf

@@ -0,0 +1,91 @@
+server {
+    listen 80;
+    client_max_body_size 100M;
+
+    # 如果要开启443,请先生成你的服务器证书,若双向认证,请导入证书到你的电脑里
+   # listen 443 ssl;
+   # ssl_certificate      /etc/nginx/ca/ssl/certs/server.cer;
+   # ssl_certificate_key  /etc/nginx/ca/ssl/private/server.key;
+   # ssl_client_certificate /etc/nginx/ca/ssl/certs/ca.cer;
+   # ssl_verify_client off;
+   # ssl_prefer_server_ciphers on;
+   # ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
+   # ssl_ciphers         HIGH:!aNULL:!MD5;
+
+    #多个域名用空格分割,第一个为默认
+    server_name upload_php.3g.me;
+
+    charset UTF-8;
+    index default.html default.htm default.php index.html index.htm index.php;
+
+    # 定义根目录
+    set $root /var/www/upload_php/src;
+
+    # 设置站点路径
+    root  $root;
+
+    # 防止目录浏览
+    autoindex off;
+
+    #sendfile        off;
+
+    # 跨域
+    set $cors_credentials '';
+    set $cors_content_type '';
+    set $cors_content_length '';
+    if ($http_origin ~ '.+') {
+        set $cors_credentials 'true';
+    }
+    if ($request_method = OPTIONS) {
+        set $cors_content_type 'text/plain';
+        set $cors_content_length '0';
+    }
+    add_header Access-Control-Allow-Origin $http_origin always;
+    add_header Access-Control-Allow-Credentials $cors_credentials always;
+    add_header Access-Control-Allow-Methods $http_access_control_request_method always;
+    add_header Access-Control-Allow-Headers $http_access_control_request_headers always;
+    add_header Content-Type $cors_content_type;
+    add_header Content-Length $cors_content_length;
+    if ($request_method = OPTIONS) {
+        return 204;
+    }
+
+    # 防止.htaccess文件被请求
+    location ~ /\.ht {
+        deny all;
+    }
+    location / {
+        try_files $uri $uri/ /index.php?$query_string;
+    }
+
+    #error_page  404              /err/404.htm;
+
+    # 将php类型的请求转交给fastcgi
+    location ~ \.php$ {
+        fastcgi_pass   php80:9000;
+        try_files  $uri =404;
+        fastcgi_split_path_info ^(.+\.php)(.*)$;
+        fastcgi_index  index.php;
+        fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
+        fastcgi_param  PHP_VALUE  "open_basedir=/var/www/:/tmp/:/var/log/";
+        include fastcgi_params;
+        #include fastcgi.conf;
+    }
+
+    #缓存图片周期30天
+    location ~* \.(jpg|jpeg|gif|png)$ {
+        access_log  off;
+        expires  30d;
+    }
+    #缓存js和css7天
+    location ~* \.(js|css)$ {
+       access_log  off;
+       expires  7d;
+    }
+
+    # 访问日志:
+    access_log  /var/log/nginx/upload_php.access.log;
+    error_log  /var/log/nginx/upload_php.error.log;
+}
+
+

+ 76 - 0
deploy/nginx/conf.d/upload_view.conf

@@ -0,0 +1,76 @@
+server {
+    listen 80;
+    client_max_body_size 20M;
+
+    # 如果要开启443,请先生成你的服务器证书,若双向认证,请导入证书到你的电脑里
+   # listen 443 ssl;
+   # ssl_certificate      /etc/nginx/ca/ssl/certs/server.cer;
+   # ssl_certificate_key  /etc/nginx/ca/ssl/private/server.key;
+   # ssl_client_certificate /etc/nginx/ca/ssl/certs/ca.cer;
+   # ssl_verify_client off;
+   # ssl_prefer_server_ciphers on;
+   # ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
+   # ssl_ciphers         HIGH:!aNULL:!MD5;
+
+    #多个域名用空格分割,第一个为默认
+    server_name upload_view.3g.me;
+
+    charset UTF-8;
+    index default.html default.htm index.html index.htm;
+
+    # 定义根目录
+    set $root /var/www/upload_php/public/files;
+
+    # 设置站点路径
+    root  $root;
+
+    # 防止目录浏览
+    autoindex off;
+    
+    # 跨域
+    set $cors_credentials '';
+    set $cors_content_type '';
+    set $cors_content_length '';
+    if ($http_origin ~ '.+') {
+        set $cors_credentials 'true';
+    }
+    if ($request_method = OPTIONS) {
+        set $cors_content_type 'text/plain';
+        set $cors_content_length '0';
+    }
+    add_header Access-Control-Allow-Origin $http_origin always;
+    add_header Access-Control-Allow-Credentials $cors_credentials always;
+    add_header Access-Control-Allow-Methods $http_access_control_request_method always;
+    add_header Access-Control-Allow-Headers $http_access_control_request_headers always;
+    add_header Content-Type $cors_content_type;
+    add_header Content-Length $cors_content_length;
+    if ($request_method = OPTIONS) {
+        return 204;
+    }
+
+    # 防止.htaccess,php文件被请求
+    location ~* \.(ht|php|php5)$ {
+        access_log  off;
+        deny all;
+    }
+
+    #error_page  404              /err/404.htm;
+
+
+    #缓存图片周期30天
+    location ~* \.(jpg|jpeg|gif|png|ceb|webp|apk|ipa)$ {
+        access_log  off;
+        expires  max;
+    }
+    #缓存js和css7天
+    location ~* \.(js|css)$ {
+       access_log  off;
+       expires  7d;
+    }
+
+    # 访问日志:
+    access_log  /var/log/nginx/upload_view.access.log;
+    error_log  /var/log/nginx/upload_view.error.log;
+}
+
+

+ 18 - 0
deploy/prod/config/env.php

@@ -0,0 +1,18 @@
+<?php
+/**
+ * 配置环境.
+ */
+return [
+    'app_env' => 'prod',
+    'server_ip' => '137.220.244.183',   // 因为容器里,php只能获取到容器的ip172.33.1.11,非容器需要手动改成服务器外网第一个IP.
+    'token' => 'GAkucH8',   // 通信的token
+    'app_secret' => 'SYtQo1ep4GvNCvac', // APP上传鉴权密钥,写死.
+    'aliyun_oss' => [
+        'bucketName' => 'hz-ag-1',
+        'bucketDomain' => '//hz-ag-1.oss-cn-hangzhou.aliyuncs.com',
+        'accessKeyId' => 'LTAI5tRcMVmAFfWUymw44ygY',
+        'accessKeySecret' => 'qcgQiUbUzg907JMQ6nD5EojMKvpdHM',
+        'endPoint' => 'oss-cn-hangzhou.aliyuncs.com',
+    ],
+    'video_base_path' => '/home/work/uploads',  // ppvod上传目录路径
+];

+ 49 - 0
deploy/prod/config/servers.php

@@ -0,0 +1,49 @@
+<?php
+/**
+ * 服务器组,访问资源设置. 每个url尾部不包含/
+ */
+
+return [
+    '127.0.0.1' => [
+        'flag' => 'local',
+        'url' => 'http://upload_view.3g.me',
+        'source_ip' => '127.0.0.1', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/home/works/upload_php/public/files',  // 源站物理根目录路径.
+    ],
+    '45.204.8.106' => [
+        'flag' => 'test01',
+        'url' => 'http://upload_view.test.wg8.site',
+        'source_ip' => '45.204.8.106', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/var/www/upload_php/public',  // 源站物理根目录路径.
+    ],
+    '45.32.101.29' => [
+        'flag' => 'test_ppvod',
+        'url' => 'http://upload-ppvod.test.wg8.site',
+        'source_ip' => '45.32.101.29', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/home/works/uploads',  // 源站物理根目录路径.
+    ],
+    '137.220.244.208' => [
+        'flag' => 'v1',
+        'url' => 'http://cn01.v.zzhxjdwx.com',
+        'source_ip' => '137.220.244.208', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/home/work/data',  // 源站物理根目录路径.
+    ],
+    '137.220.244.183' => [
+        'flag' => 'f1',
+        'url' => 'http://cn01.f.meirenchong.net',
+        'source_ip' => '137.220.244.183', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/home/works/upload_php/public/files',  // 源站物理根目录路径.
+    ],
+    '137.220.244.113' => [
+        'flag' => 'f2',
+        'url' => 'http://cn02.f.meirenchong.net',
+        'source_ip' => '137.220.244.183', // 源站IP
+        'source_port' => '8002', // 源站端口
+        'source_base_path' => '/home/works/upload_php/public/app_static',  // 源站物理根目录路径.
+    ],
+];

+ 12 - 0
deploy/shell/deploy_upload_php.sh

@@ -0,0 +1,12 @@
+#!/bin/bash
+
+cd /home/works/upload_php
+
+git reset --hard
+git pull
+
+#composer install
+
+chmod -R 777 ./src/storage ./public
+
+echo "上传加密部署完成,请检查env.php/servers.php配置"

+ 17 - 0
deploy/test/config/env.php

@@ -0,0 +1,17 @@
+<?php
+/**
+ * 配置环境.
+ */
+return [
+    'app_env' => 'test',
+    'server_ip' => '45.204.8.106',   // 因为容器里,php只能获取到容器的ip172.33.1.11,非容器需要手动改成服务器外网第一个IP.
+    'token' => 'GAkucH8',   // 通信的token
+    'aliyun_oss' => [
+        'bucketName' => 'test-chituma',
+        'bucketDomain' => '//test-chituma.oss-cn-hangzhou.aliyuncs.com',
+        'accessKeyId' => 'LTAI5tMjpFpKQd3UWAPDwW3F',
+        'accessKeySecret' => 'pbzVBCFx6jl9MDqFyfYrCDQGlBIq4a',
+        'endPoint' => 'oss-cn-hangzhou.aliyuncs.com',
+    ],
+    'video_base_path' => '/home/work/uploads',  // ppvod上传目录路径
+];

+ 17 - 0
deploy/test/config/ppvod.env.php

@@ -0,0 +1,17 @@
+<?php
+/**
+ * 配置环境.
+ */
+return [
+    'app_env' => 'test_ppvod',
+    'server_ip' => '45.32.101.29',   // 因为容器里,php只能获取到容器的ip172.33.1.11,非容器需要手动改成服务器外网第一个IP.
+    'token' => 'GAkucH8',   // 通信的token
+    'aliyun_oss' => [
+        'bucketName' => 'test-chituma',
+        'bucketDomain' => '//test-chituma.oss-cn-hangzhou.aliyuncs.com',
+        'accessKeyId' => 'LTAI5tMjpFpKQd3UWAPDwW3F',
+        'accessKeySecret' => 'pbzVBCFx6jl9MDqFyfYrCDQGlBIq4a',
+        'endPoint' => 'oss-cn-hangzhou.aliyuncs.com',
+    ],
+    'video_base_path' => '/home/work/uploads',  // ppvod上传目录路径
+];

+ 49 - 0
deploy/test/config/servers.php

@@ -0,0 +1,49 @@
+<?php
+/**
+ * 服务器组,访问资源设置. 每个url尾部不包含/
+ */
+
+return [
+    '127.0.0.1' => [
+        'flag' => 'local',
+        'url' => 'http://upload_view.3g.me',
+        'source_ip' => '127.0.0.1', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/home/works/upload_php/public/files',  // 源站物理根目录路径.
+    ],
+    '45.204.8.106' => [
+        'flag' => 'test01',
+        'url' => 'http://upload_view.test.wg8.site',
+        'source_ip' => '45.204.8.106', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/var/www/upload_php/public',  // 源站物理根目录路径.
+    ],
+    '45.32.101.29' => [
+        'flag' => 'test_ppvod',
+        'url' => 'http://upload-ppvod.test.wg8.site',
+        'source_ip' => '45.32.101.29', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/home/works/uploads',  // 源站物理根目录路径.
+    ],
+    '137.220.244.208' => [
+        'flag' => 'v1',
+        'url' => 'http://cn01.v.zzhxjdwx.com',
+        'source_ip' => '137.220.244.208', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/home/work/data',  // 源站物理根目录路径.
+    ],
+    '137.220.244.183' => [
+        'flag' => 'f1',
+        'url' => 'http://cn01.f.meirenchong.net',
+        'source_ip' => '137.220.244.183', // 源站IP
+        'source_port' => '8001', // 源站端口
+        'source_base_path' => '/home/works/upload_php/public/files',  // 源站物理根目录路径.
+    ],
+    '137.220.244.113' => [
+        'flag' => 'f2',
+        'url' => 'http://cn02.f.meirenchong.net',
+        'source_ip' => '137.220.244.183', // 源站IP
+        'source_port' => '8002', // 源站端口
+        'source_base_path' => '/home/works/upload_php/public/app_static',  // 源站物理根目录路径.
+    ],
+];

BIN
public/app_static/chuji/avatars/a_001.ceb


BIN
public/app_static/chuji/avatars/a_002.ceb


BIN
public/app_static/chuji/avatars/a_003.ceb


BIN
public/app_static/chuji/avatars/a_004.ceb


BIN
public/app_static/chuji/avatars/a_005.ceb


BIN
public/app_static/chuji/avatars/a_006.ceb


BIN
public/app_static/chuji/avatars/a_007.ceb


BIN
public/app_static/chuji/avatars/a_008.ceb


BIN
public/app_static/chuji/avatars/a_009.ceb


BIN
public/app_static/chuji/avatars/a_010.ceb


BIN
public/app_static/chuji/avatars/a_011.ceb


BIN
public/app_static/chuji/avatars/b1/08MvJ5Zj.ceb


BIN
public/app_static/chuji/avatars/b1/0VgzXv8C.ceb


BIN
public/app_static/chuji/avatars/b1/0fSiUgdN.ceb


BIN
public/app_static/chuji/avatars/b1/0n0N0m74.ceb


BIN
public/app_static/chuji/avatars/b1/0ySy0PBd.ceb


BIN
public/app_static/chuji/avatars/b1/11D8CWG1.ceb


BIN
public/app_static/chuji/avatars/b1/1eaXux1a.ceb


BIN
public/app_static/chuji/avatars/b1/203z0bUo.ceb


BIN
public/app_static/chuji/avatars/b1/2436129P.ceb


BIN
public/app_static/chuji/avatars/b1/2z8Ud88D.ceb


BIN
public/app_static/chuji/avatars/b1/3C37z9RP.ceb


BIN
public/app_static/chuji/avatars/b1/3yLdjbaG.ceb


BIN
public/app_static/chuji/avatars/b1/3yh49244.ceb


BIN
public/app_static/chuji/avatars/b1/4mMwDB0a.ceb


BIN
public/app_static/chuji/avatars/b1/51p7YDSE.ceb


BIN
public/app_static/chuji/avatars/b1/53q99k1k.ceb


BIN
public/app_static/chuji/avatars/b1/5D9q5B6l.ceb


BIN
public/app_static/chuji/avatars/b1/5qMoFVQv.ceb


BIN
public/app_static/chuji/avatars/b1/5z88Hj3u.ceb


BIN
public/app_static/chuji/avatars/b1/67R3F793.ceb


BIN
public/app_static/chuji/avatars/b1/69119uuf.ceb


BIN
public/app_static/chuji/avatars/b1/6Gpv8m8z.ceb


BIN
public/app_static/chuji/avatars/b1/6TXmpI1D.ceb


BIN
public/app_static/chuji/avatars/b1/6Z7BB299.ceb


BIN
public/app_static/chuji/avatars/b1/72LZ98MY.ceb


BIN
public/app_static/chuji/avatars/b1/7ICUq0Wd.ceb


BIN
public/app_static/chuji/avatars/b1/7iZT7Ljx.ceb


BIN
public/app_static/chuji/avatars/b1/87vmjkma.ceb


BIN
public/app_static/chuji/avatars/b1/8SUzx0xS.ceb


BIN
public/app_static/chuji/avatars/b1/8eP115sm.ceb


BIN
public/app_static/chuji/avatars/b1/910PTqia.ceb


BIN
public/app_static/chuji/avatars/b1/9Rdy6dPS.ceb


BIN
public/app_static/chuji/avatars/b1/9rM8M9qP.ceb


BIN
public/app_static/chuji/avatars/b1/A0v0cV0v.ceb


BIN
public/app_static/chuji/avatars/b1/AOTGvJi1.ceb


BIN
public/app_static/chuji/avatars/b1/Bb9lJj79.ceb


BIN
public/app_static/chuji/avatars/b1/D8Sz67go.ceb


BIN
public/app_static/chuji/avatars/b1/Ee7u15vZ.ceb


BIN
public/app_static/chuji/avatars/b1/EuBeHYz2.ceb


BIN
public/app_static/chuji/avatars/b1/F3FqCOQ7.ceb


BIN
public/app_static/chuji/avatars/b1/FbZP9F2R.ceb


BIN
public/app_static/chuji/avatars/b1/Ie89UuAM.ceb


BIN
public/app_static/chuji/avatars/b1/Jo4Fp7p9.ceb


BIN
public/app_static/chuji/avatars/b1/Kz6Fd1KW.ceb


BIN
public/app_static/chuji/avatars/b1/L9933Qlh.ceb


BIN
public/app_static/chuji/avatars/b1/LH33d1eE.ceb


BIN
public/app_static/chuji/avatars/b1/LNh8L1N1.ceb


BIN
public/app_static/chuji/avatars/b1/MERquYZm.ceb


BIN
public/app_static/chuji/avatars/b1/Ns3sCdiI.ceb


BIN
public/app_static/chuji/avatars/b1/OO7L8L8C.ceb


BIN
public/app_static/chuji/avatars/b1/OrQ11O2n.ceb


BIN
public/app_static/chuji/avatars/b1/Pba5pprg.ceb


BIN
public/app_static/chuji/avatars/b1/Q9rvoX4x.ceb


BIN
public/app_static/chuji/avatars/b1/QDtiT2z2.ceb


BIN
public/app_static/chuji/avatars/b1/QlWpJvPQ.ceb


BIN
public/app_static/chuji/avatars/b1/Rtgvfy21.ceb


BIN
public/app_static/chuji/avatars/b1/SJRPRP2j.ceb


BIN
public/app_static/chuji/avatars/b1/SmnI31sY.ceb


BIN
public/app_static/chuji/avatars/b1/U1zwhawC.ceb


BIN
public/app_static/chuji/avatars/b1/Vyy5u7Yw.ceb


BIN
public/app_static/chuji/avatars/b1/W38epX9c.ceb


BIN
public/app_static/chuji/avatars/b1/XPxYQx06.ceb


BIN
public/app_static/chuji/avatars/b1/Xb6Q555t.ceb


BIN
public/app_static/chuji/avatars/b1/Y0zDSh7X.ceb


BIN
public/app_static/chuji/avatars/b1/YH6164aU.ceb


BIN
public/app_static/chuji/avatars/b1/YSuwzz44.ceb


BIN
public/app_static/chuji/avatars/b1/Z7Ux8R62.ceb


BIN
public/app_static/chuji/avatars/b1/ZNzVT6ZE.ceb


BIN
public/app_static/chuji/avatars/b1/Zf82zb70.ceb


BIN
public/app_static/chuji/avatars/b1/bRfrJzpP.ceb


BIN
public/app_static/chuji/avatars/b1/cTPTTrRY.ceb


BIN
public/app_static/chuji/avatars/b1/dT5a9DU6.ceb


BIN
public/app_static/chuji/avatars/b1/eeHHf2fz.ceb


BIN
public/app_static/chuji/avatars/b1/exWKRWwx.ceb


BIN
public/app_static/chuji/avatars/b1/iCkaImmM.ceb


Some files were not shown because too many files changed in this diff