Merge pull request #9 from jfrog/nginx-config-update

Updated nginx config to support production load
This commit is contained in:
Maheshkumar Gopalakrishnan
2018-09-19 14:50:17 -07:00
committed by GitHub
5 changed files with 130 additions and 20 deletions

View File

@@ -626,6 +626,24 @@
"}\n",
"http {\n",
" include mime.types;\n",
" variables_hash_max_size 1024;\n",
" variables_hash_bucket_size 64;\n",
" server_names_hash_max_size 4096;\n",
" server_names_hash_bucket_size 128;\n",
" types_hash_max_size 2048;\n",
" types_hash_bucket_size 64;\n",
" proxy_read_timeout 2400s;\n",
" client_header_timeout 2400s;\n",
" client_body_timeout 2400s;\n",
" proxy_connect_timeout 75s;\n",
" proxy_send_timeout 2400s;\n",
" proxy_buffer_size 32k;\n",
" proxy_buffers 40 32k;\n",
" proxy_busy_buffers_size 64k;\n",
" proxy_temp_file_write_size 250m;\n",
" proxy_http_version 1.1;\n",
" client_body_buffer_size 128k;\n",
" include /etc/nginx/conf.d/*.conf;\n",
" default_type application/octet-stream;\n",
" log_format main '$remote_addr - $remote_user [$time_local] \"$request\" '\n",
@@ -748,16 +766,27 @@
"import org.artifactory.storage.db.servers.service.ArtifactoryServersCommonService\n",
"import org.artifactory.common.ConstantValues\n",
"import org.slf4j.Logger\n",
"import java.util.concurrent.TimeUnit\n",
"jobs {\n",
" clean(interval: 60000, delay: 600000) {\n",
" def artifactoryServersCommonService = ctx.beanForType(ArtifactoryServersCommonService)\n",
" def artifactoryInactiveServerCleaner = new ArtifactoryInactiveServersCleaner(artifactoryServersCommonService, log)\n",
" artifactoryInactiveServerCleaner.cleanInactiveArtifactoryServers()\n",
" clean(interval: 90000, delay: 900000) {\n",
" runCleanupHAInactiveServers()\n",
" }\n",
"}\n",
"executions {\n",
" cleanHAInactiveServers() { params ->\n",
" runCleanupHAInactiveServers()\n",
" }\n",
"}\n",
"def runCleanupHAInactiveServers() {\n",
" def artifactoryServersCommonService = ctx.beanForType(ArtifactoryServersCommonService)\n",
" def artifactoryInactiveServerCleaner = new ArtifactoryInactiveServersCleaner(artifactoryServersCommonService, log)\n",
" artifactoryInactiveServerCleaner.cleanInactiveArtifactoryServers()\n",
"}\n",
"public class ArtifactoryInactiveServersCleaner {\n",
" private ArtifactoryServersCommonService artifactoryServersCommonService\n",
@@ -768,17 +797,17 @@
" this.log = log\n",
" }\n",
" def cleanInactiveArtifactoryServers() {\n",
" def cleanInactiveArtifactoryServers() {\n",
" log.info \"Executing inactive artifactory servers cleaner plugin\"\n",
" List<String> allMembers = artifactoryServersCommonService.getAllArtifactoryServers()\n",
" for (member in allMembers) {\n",
" def heartbeat = TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - member.getLastHeartbeat())\n",
" def noHeartbeat = heartbeat > ConstantValues.haHeartbeatStaleIntervalSecs.getInt()\n",
" if (member.getServerState() == ArtifactoryServerState.UNAVAILABLE || noHeartbeat) {\n",
" if (member.getServerState() == ArtifactoryServerState.UNAVAILABLE || ( noHeartbeat && member.getServerState() != ArtifactoryServerState.CONVERTING && member.getServerState() != ArtifactoryServerState.STARTING )) {\n",
" try {\n",
" log.info \"Running inactive artifactory servers cleaning task, found ${member.serverId} inactive servers to \" +\n",
" \"remove\"\n",
" log.info \"Inactive artifactory servers cleaning task found server ${member.serverId} to remove\"\n",
" artifactoryServersCommonService.removeServer(member.serverId)\n",
" }catch (Exception e){\n",
" log.error \"Error: Not able to remove ${member.serverId}, ${e.message}\"\n",
" }\n",
@@ -833,7 +862,7 @@
" chunked_transfer_encoding on;\n",
" client_max_body_size 0;\n",
" location /artifactory/ {\n",
" proxy_read_timeout 900;\n",
" proxy_read_timeout 2400;\n",
" proxy_pass_header Server;\n",
" proxy_cookie_path ~*^/.* /;\n",
" proxy_pass http://127.0.0.1:8081/artifactory/;\n",
@@ -1011,6 +1040,24 @@
"}\n",
"http {\n",
" include mime.types;\n",
" variables_hash_max_size 1024;\n",
" variables_hash_bucket_size 64;\n",
" server_names_hash_max_size 4096;\n",
" server_names_hash_bucket_size 128;\n",
" types_hash_max_size 2048;\n",
" types_hash_bucket_size 64;\n",
" proxy_read_timeout 2400s;\n",
" client_header_timeout 2400s;\n",
" client_body_timeout 2400s;\n",
" proxy_connect_timeout 75s;\n",
" proxy_send_timeout 2400s;\n",
" proxy_buffer_size 32k;\n",
" proxy_buffers 40 32k;\n",
" proxy_busy_buffers_size 64k;\n",
" proxy_temp_file_write_size 250m;\n",
" proxy_http_version 1.1;\n",
" client_body_buffer_size 128k;\n",
" include /etc/nginx/conf.d/*.conf;\n",
" default_type application/octet-stream;\n",
" log_format main '$remote_addr - $remote_user [$time_local] \"$request\" '\n",
@@ -1167,7 +1214,7 @@
" chunked_transfer_encoding on;\n",
" client_max_body_size 0;\n",
" location /artifactory/ {\n",
" proxy_read_timeout 900;\n",
" proxy_read_timeout 2400;\n",
" proxy_pass_header Server;\n",
" proxy_cookie_path ~*^/.* /;\n",
" proxy_pass http://127.0.0.1:8081/artifactory/;\n",