-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
da31893
commit 2870a24
Showing
1 changed file
with
81 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
# Nginx正向代理高并发 | ||
|
||
## Proxy | ||
|
||
```bash | ||
#!/bin/bash | ||
yum update && yum install nginx -y && yum clean all | ||
|
||
# 检查是否已经存在listen 3126;字段 | ||
|
||
if grep -q "listen 3126;" /etc/nginx.conf; then | ||
echo "代理服务器 listen 3126; 已经安装" | ||
else | ||
# 在http字段后插入新的server块 | ||
sed -i '/http {/a\ server {\n listen 3126;\n server_name _;\n location / {\n resolver 8.8.8.8;\n proxy_pass $scheme://$http_host$request_uri;\n }\n}' /etc/nginx.conf | ||
echo "已配置代理服务器" | ||
fi | ||
nginx -s reload | ||
|
||
# 将以下配置写入 /etc/sysctl.conf | ||
|
||
cat <<EOF >/etc/sysctl.conf | ||
net.ipv4.tcp_fin_timeout = 5 | ||
net.ipv4.tcp_keepalive_time = 5 | ||
net.ipv4.tcp_syncookies = 1 | ||
net.ipv4.tcp_tw_reuse = 1 | ||
net.ipv4.tcp_tw_recycle = 1 | ||
net.ipv4.tcp_max_syn_backlog = 3240000 | ||
net.ipv4.tcp_max_tw_buckets = 10000 | ||
net.ipv4.tcp_mem = 768432 2097152 15242880 | ||
net.ipv4.tcp_rmem = 4096 4096 33554432 | ||
net.ipv4.tcp_wmem = 4096 4096 33554432 | ||
net.ipv4.ip_local_port_range = 2048 64500 | ||
net.core.wmem_default = 183888608 | ||
net.core.rmem_default = 183888608 | ||
net.core.rmem_max = 33554432 | ||
net.core.wmem_max = 33554432 | ||
net.core.netdev_max_backlog = 2621244 | ||
kernel.sem=250 65536 100 2048 | ||
kernel.msgmax = 65536 | ||
kernel.msgmnb = 65536 | ||
kernel.perf_cpu_time_max_percent = 60 | ||
kernel.perf_event_max_sample_rate = 6250 | ||
net.ipv4.tcp_max_orphans = 1048576 | ||
kernel.sched_migration_cost_ns = 5000000 | ||
net.core.optmem_max = 25165824 | ||
net.core.somaxconn = 60000 | ||
net.ipv4.tcp_window_scaling = 1 | ||
EOF | ||
|
||
# 应用新的配置 | ||
sysctl -p && echo "应用系统优化策略成功" || echo "部分系统优化策略应用失败" | ||
``` | ||
|
||
## Client && Server | ||
|
||
```bash | ||
#!/bin/bash | ||
# 将以下配置写入 /etc/sysctl.conf | ||
|
||
cat <<EOF >/etc/sysctl.conf | ||
net.ipv6.conf.all.accept_ra=1 | ||
net.ipv6.conf.default.accept_ra=1 | ||
net.ipv6.conf.eth0.accept_ra=1 | ||
net.ipv4.tcp_fin_timeout = 10 | ||
net.ipv4.tcp_keepalive_time = 1200 | ||
net.ipv4.tcp_syncookies = 1 | ||
net.ipv4.tcp_tw_reuse = 1 | ||
net.ipv4.tcp_tw_recycle = 1 | ||
net.ipv4.ip_local_port_range = 1024 65000 | ||
net.ipv4.tcp_max_syn_backlog = 8192 | ||
net.ipv4.tcp_max_tw_buckets = 5000 | ||
EOF | ||
|
||
# 应用新的配置 | ||
sysctl -p && echo "应用系统优化策略成功" || echo "部分系统优化策略应用失败" | ||
|
||
``` | ||
|