mirror of
https://github.com/ZwareBear/JFrog-Cloud-Installers.git
synced 2026-01-21 04:06:55 -06:00
Merge pull request #9 from jfrog/nginx-config-update
Updated nginx config to support production load
This commit is contained in:
@@ -65,6 +65,24 @@ cat <<EOF >/etc/nginx/nginx.conf
|
|||||||
|
|
||||||
http {
|
http {
|
||||||
include mime.types;
|
include mime.types;
|
||||||
|
variables_hash_max_size 1024;
|
||||||
|
variables_hash_bucket_size 64;
|
||||||
|
server_names_hash_max_size 4096;
|
||||||
|
server_names_hash_bucket_size 128;
|
||||||
|
types_hash_max_size 2048;
|
||||||
|
types_hash_bucket_size 64;
|
||||||
|
proxy_read_timeout 2400s;
|
||||||
|
client_header_timeout 2400s;
|
||||||
|
client_body_timeout 2400s;
|
||||||
|
proxy_connect_timeout 75s;
|
||||||
|
proxy_send_timeout 2400s;
|
||||||
|
proxy_buffer_size 32k;
|
||||||
|
proxy_buffers 40 32k;
|
||||||
|
proxy_busy_buffers_size 64k;
|
||||||
|
proxy_temp_file_write_size 250m;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
client_body_buffer_size 128k;
|
||||||
|
|
||||||
include /etc/nginx/conf.d/*.conf;
|
include /etc/nginx/conf.d/*.conf;
|
||||||
default_type application/octet-stream;
|
default_type application/octet-stream;
|
||||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||||
@@ -100,7 +118,7 @@ server {
|
|||||||
chunked_transfer_encoding on;
|
chunked_transfer_encoding on;
|
||||||
client_max_body_size 0;
|
client_max_body_size 0;
|
||||||
location /artifactory/ {
|
location /artifactory/ {
|
||||||
proxy_read_timeout 900;
|
proxy_read_timeout 2400;
|
||||||
proxy_pass_header Server;
|
proxy_pass_header Server;
|
||||||
proxy_cookie_path ~*^/.* /;
|
proxy_cookie_path ~*^/.* /;
|
||||||
proxy_pass http://127.0.0.1:8081/artifactory/;
|
proxy_pass http://127.0.0.1:8081/artifactory/;
|
||||||
|
|||||||
@@ -626,6 +626,24 @@
|
|||||||
"}\n",
|
"}\n",
|
||||||
"http {\n",
|
"http {\n",
|
||||||
" include mime.types;\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",
|
" include /etc/nginx/conf.d/*.conf;\n",
|
||||||
" default_type application/octet-stream;\n",
|
" default_type application/octet-stream;\n",
|
||||||
" log_format main '$remote_addr - $remote_user [$time_local] \"$request\" '\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.storage.db.servers.service.ArtifactoryServersCommonService\n",
|
||||||
"import org.artifactory.common.ConstantValues\n",
|
"import org.artifactory.common.ConstantValues\n",
|
||||||
"import org.slf4j.Logger\n",
|
"import org.slf4j.Logger\n",
|
||||||
|
|
||||||
"import java.util.concurrent.TimeUnit\n",
|
"import java.util.concurrent.TimeUnit\n",
|
||||||
|
|
||||||
"jobs {\n",
|
"jobs {\n",
|
||||||
" clean(interval: 60000, delay: 600000) {\n",
|
" clean(interval: 90000, delay: 900000) {\n",
|
||||||
" def artifactoryServersCommonService = ctx.beanForType(ArtifactoryServersCommonService)\n",
|
" runCleanupHAInactiveServers()\n",
|
||||||
" def artifactoryInactiveServerCleaner = new ArtifactoryInactiveServersCleaner(artifactoryServersCommonService, log)\n",
|
|
||||||
" artifactoryInactiveServerCleaner.cleanInactiveArtifactoryServers()\n",
|
|
||||||
" }\n",
|
" }\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",
|
"public class ArtifactoryInactiveServersCleaner {\n",
|
||||||
|
|
||||||
" private ArtifactoryServersCommonService artifactoryServersCommonService\n",
|
" private ArtifactoryServersCommonService artifactoryServersCommonService\n",
|
||||||
@@ -768,17 +797,17 @@
|
|||||||
" this.log = log\n",
|
" this.log = log\n",
|
||||||
" }\n",
|
" }\n",
|
||||||
|
|
||||||
" def cleanInactiveArtifactoryServers() {\n",
|
" def cleanInactiveArtifactoryServers() {\n",
|
||||||
" log.info \"Executing inactive artifactory servers cleaner plugin\"\n",
|
" log.info \"Executing inactive artifactory servers cleaner plugin\"\n",
|
||||||
" List<String> allMembers = artifactoryServersCommonService.getAllArtifactoryServers()\n",
|
" List<String> allMembers = artifactoryServersCommonService.getAllArtifactoryServers()\n",
|
||||||
" for (member in allMembers) {\n",
|
" for (member in allMembers) {\n",
|
||||||
" def heartbeat = TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - member.getLastHeartbeat())\n",
|
" def heartbeat = TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - member.getLastHeartbeat())\n",
|
||||||
" def noHeartbeat = heartbeat > ConstantValues.haHeartbeatStaleIntervalSecs.getInt()\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",
|
" try {\n",
|
||||||
" log.info \"Running inactive artifactory servers cleaning task, found ${member.serverId} inactive servers to \" +\n",
|
" log.info \"Inactive artifactory servers cleaning task found server ${member.serverId} to remove\"\n",
|
||||||
" \"remove\"\n",
|
|
||||||
" artifactoryServersCommonService.removeServer(member.serverId)\n",
|
" artifactoryServersCommonService.removeServer(member.serverId)\n",
|
||||||
|
|
||||||
" }catch (Exception e){\n",
|
" }catch (Exception e){\n",
|
||||||
" log.error \"Error: Not able to remove ${member.serverId}, ${e.message}\"\n",
|
" log.error \"Error: Not able to remove ${member.serverId}, ${e.message}\"\n",
|
||||||
" }\n",
|
" }\n",
|
||||||
@@ -833,7 +862,7 @@
|
|||||||
" chunked_transfer_encoding on;\n",
|
" chunked_transfer_encoding on;\n",
|
||||||
" client_max_body_size 0;\n",
|
" client_max_body_size 0;\n",
|
||||||
" location /artifactory/ {\n",
|
" location /artifactory/ {\n",
|
||||||
" proxy_read_timeout 900;\n",
|
" proxy_read_timeout 2400;\n",
|
||||||
" proxy_pass_header Server;\n",
|
" proxy_pass_header Server;\n",
|
||||||
" proxy_cookie_path ~*^/.* /;\n",
|
" proxy_cookie_path ~*^/.* /;\n",
|
||||||
" proxy_pass http://127.0.0.1:8081/artifactory/;\n",
|
" proxy_pass http://127.0.0.1:8081/artifactory/;\n",
|
||||||
@@ -1011,6 +1040,24 @@
|
|||||||
"}\n",
|
"}\n",
|
||||||
"http {\n",
|
"http {\n",
|
||||||
" include mime.types;\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",
|
" include /etc/nginx/conf.d/*.conf;\n",
|
||||||
" default_type application/octet-stream;\n",
|
" default_type application/octet-stream;\n",
|
||||||
" log_format main '$remote_addr - $remote_user [$time_local] \"$request\" '\n",
|
" log_format main '$remote_addr - $remote_user [$time_local] \"$request\" '\n",
|
||||||
@@ -1167,7 +1214,7 @@
|
|||||||
" chunked_transfer_encoding on;\n",
|
" chunked_transfer_encoding on;\n",
|
||||||
" client_max_body_size 0;\n",
|
" client_max_body_size 0;\n",
|
||||||
" location /artifactory/ {\n",
|
" location /artifactory/ {\n",
|
||||||
" proxy_read_timeout 900;\n",
|
" proxy_read_timeout 2400;\n",
|
||||||
" proxy_pass_header Server;\n",
|
" proxy_pass_header Server;\n",
|
||||||
" proxy_cookie_path ~*^/.* /;\n",
|
" proxy_cookie_path ~*^/.* /;\n",
|
||||||
" proxy_pass http://127.0.0.1:8081/artifactory/;\n",
|
" proxy_pass http://127.0.0.1:8081/artifactory/;\n",
|
||||||
|
|||||||
@@ -6,13 +6,23 @@ import org.slf4j.Logger
|
|||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
||||||
jobs {
|
jobs {
|
||||||
clean(interval: 60000, delay: 600000) {
|
clean(interval: 90000, delay: 900000) {
|
||||||
def artifactoryServersCommonService = ctx.beanForType(ArtifactoryServersCommonService)
|
runCleanupHAInactiveServers()
|
||||||
def artifactoryInactiveServerCleaner = new ArtifactoryInactiveServersCleaner(artifactoryServersCommonService, log)
|
|
||||||
artifactoryInactiveServerCleaner.cleanInactiveArtifactoryServers()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
executions {
|
||||||
|
cleanHAInactiveServers() { params ->
|
||||||
|
runCleanupHAInactiveServers()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def runCleanupHAInactiveServers() {
|
||||||
|
def artifactoryServersCommonService = ctx.beanForType(ArtifactoryServersCommonService)
|
||||||
|
def artifactoryInactiveServerCleaner = new ArtifactoryInactiveServersCleaner(artifactoryServersCommonService, log)
|
||||||
|
artifactoryInactiveServerCleaner.cleanInactiveArtifactoryServers()
|
||||||
|
}
|
||||||
|
|
||||||
public class ArtifactoryInactiveServersCleaner {
|
public class ArtifactoryInactiveServersCleaner {
|
||||||
|
|
||||||
private ArtifactoryServersCommonService artifactoryServersCommonService
|
private ArtifactoryServersCommonService artifactoryServersCommonService
|
||||||
@@ -29,10 +39,9 @@ public class ArtifactoryInactiveServersCleaner {
|
|||||||
for (member in allMembers) {
|
for (member in allMembers) {
|
||||||
def heartbeat = TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - member.getLastHeartbeat())
|
def heartbeat = TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - member.getLastHeartbeat())
|
||||||
def noHeartbeat = heartbeat > ConstantValues.haHeartbeatStaleIntervalSecs.getInt()
|
def noHeartbeat = heartbeat > ConstantValues.haHeartbeatStaleIntervalSecs.getInt()
|
||||||
if (member.getServerState() == ArtifactoryServerState.UNAVAILABLE || noHeartbeat) {
|
if (member.getServerState() == ArtifactoryServerState.UNAVAILABLE || ( noHeartbeat && member.getServerState() != ArtifactoryServerState.CONVERTING && member.getServerState() != ArtifactoryServerState.STARTING )) {
|
||||||
try {
|
try {
|
||||||
log.info "Running inactive artifactory servers cleaning task, found ${member.serverId} inactive servers to " +
|
log.info "Inactive artifactory servers cleaning task found server ${member.serverId} to remove"
|
||||||
"remove"
|
|
||||||
artifactoryServersCommonService.removeServer(member.serverId)
|
artifactoryServersCommonService.removeServer(member.serverId)
|
||||||
|
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
|
|||||||
@@ -106,6 +106,24 @@ cat <<EOF >/etc/nginx/nginx.conf
|
|||||||
|
|
||||||
http {
|
http {
|
||||||
include mime.types;
|
include mime.types;
|
||||||
|
variables_hash_max_size 1024;
|
||||||
|
variables_hash_bucket_size 64;
|
||||||
|
server_names_hash_max_size 4096;
|
||||||
|
server_names_hash_bucket_size 128;
|
||||||
|
types_hash_max_size 2048;
|
||||||
|
types_hash_bucket_size 64;
|
||||||
|
proxy_read_timeout 2400s;
|
||||||
|
client_header_timeout 2400s;
|
||||||
|
client_body_timeout 2400s;
|
||||||
|
proxy_connect_timeout 75s;
|
||||||
|
proxy_send_timeout 2400s;
|
||||||
|
proxy_buffer_size 32k;
|
||||||
|
proxy_buffers 40 32k;
|
||||||
|
proxy_busy_buffers_size 64k;
|
||||||
|
proxy_temp_file_write_size 250m;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
client_body_buffer_size 128k;
|
||||||
|
|
||||||
include /etc/nginx/conf.d/*.conf;
|
include /etc/nginx/conf.d/*.conf;
|
||||||
default_type application/octet-stream;
|
default_type application/octet-stream;
|
||||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||||
@@ -141,7 +159,7 @@ server {
|
|||||||
chunked_transfer_encoding on;
|
chunked_transfer_encoding on;
|
||||||
client_max_body_size 0;
|
client_max_body_size 0;
|
||||||
location /artifactory/ {
|
location /artifactory/ {
|
||||||
proxy_read_timeout 900;
|
proxy_read_timeout 2400;
|
||||||
proxy_pass_header Server;
|
proxy_pass_header Server;
|
||||||
proxy_cookie_path ~*^/.* /;
|
proxy_cookie_path ~*^/.* /;
|
||||||
proxy_pass http://127.0.0.1:8081/artifactory/;
|
proxy_pass http://127.0.0.1:8081/artifactory/;
|
||||||
|
|||||||
@@ -107,6 +107,24 @@ cat <<EOF >/etc/nginx/nginx.conf
|
|||||||
|
|
||||||
http {
|
http {
|
||||||
include mime.types;
|
include mime.types;
|
||||||
|
variables_hash_max_size 1024;
|
||||||
|
variables_hash_bucket_size 64;
|
||||||
|
server_names_hash_max_size 4096;
|
||||||
|
server_names_hash_bucket_size 128;
|
||||||
|
types_hash_max_size 2048;
|
||||||
|
types_hash_bucket_size 64;
|
||||||
|
proxy_read_timeout 2400s;
|
||||||
|
client_header_timeout 2400s;
|
||||||
|
client_body_timeout 2400s;
|
||||||
|
proxy_connect_timeout 75s;
|
||||||
|
proxy_send_timeout 2400s;
|
||||||
|
proxy_buffer_size 32k;
|
||||||
|
proxy_buffers 40 32k;
|
||||||
|
proxy_busy_buffers_size 64k;
|
||||||
|
proxy_temp_file_write_size 250m;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
client_body_buffer_size 128k;
|
||||||
|
|
||||||
include /etc/nginx/conf.d/*.conf;
|
include /etc/nginx/conf.d/*.conf;
|
||||||
default_type application/octet-stream;
|
default_type application/octet-stream;
|
||||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||||
@@ -142,7 +160,7 @@ server {
|
|||||||
chunked_transfer_encoding on;
|
chunked_transfer_encoding on;
|
||||||
client_max_body_size 0;
|
client_max_body_size 0;
|
||||||
location /artifactory/ {
|
location /artifactory/ {
|
||||||
proxy_read_timeout 900;
|
proxy_read_timeout 2400;
|
||||||
proxy_pass_header Server;
|
proxy_pass_header Server;
|
||||||
proxy_cookie_path ~*^/.* /;
|
proxy_cookie_path ~*^/.* /;
|
||||||
proxy_pass http://127.0.0.1:8081/artifactory/;
|
proxy_pass http://127.0.0.1:8081/artifactory/;
|
||||||
|
|||||||
Reference in New Issue
Block a user