Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
. U4 T! E1 \+ K! W0 B3 ]' c; J6 {6 X* T% h
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则* w4 S. p. V. y! H$ ~" |
- client_body_buffer_size 512k;! D, @$ T$ b$ I, ~2 f- M+ J
- proxy_connect_timeout 5;7 c, u$ \4 n& @; c" Q8 K) j0 v
- proxy_read_timeout 60;1 ~* {" J7 l8 h: P+ f
- proxy_send_timeout 5;
5 b7 e2 g1 K: l* y6 m9 w }* a - proxy_buffer_size 16k;
/ P! V$ X7 S2 F5 f/ G2 v: O* ] - proxy_buffers 4 64k;6 e; }' k Z+ r/ N! G: e1 v6 U
- proxy_busy_buffers_size 128k;
$ ]1 }$ q v! d; H# H* v! |1 r - proxy_temp_file_write_size 128k;
9 @' F: L1 v) n" s( a; ^ - proxy_temp_path /home/cache/temp;3 ?7 [, U+ o7 | Q
- # 配置临时目录' i0 A- G8 W) Q4 T
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;2 {% D1 W# z% P
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
2 v* [+ K. W2 y- k9 D0 l1 w: ?- D6 U- a+ w
- mkdir /home/cache/path -p
2 J( @+ H6 D# Z - mkdir /home/cache/temp
) Y* n7 D' `# O5 C5 ]$ Z' S ]. @ - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
" C& u1 p8 f! n. E0 K
% B: @& b. s# j3 S& Q1 a8 d% W* m. p6 b3 e$ v2 Z# N' a/ p, m6 G7 N) K
先创建一个“www.wdidc.net”虚拟主机
5 e. g/ Y0 I1 M8 {- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
- t0 b; H% ^5 q+ V8 \% [" T; B& f! V7 g6 X+ n6 ~( o
删除之前系统生成的代码,填入以下代码,注意修改网址。
- }. |: t0 f3 q- server
" V5 d/ c6 n7 M" C3 e, M: X8 y4 _ - {/ ~# y% B6 K& v! V* |# Z) b
- listen 80;
, X( G8 z; S0 R0 K" |0 r - server_name www.wdidc.net;* |4 i$ Z" t3 Y# y9 q
- % [! c5 L% }5 r- z. K, F
- location / {
6 c/ Z, I' K+ t1 t+ a ] - proxy_cache cache;
* q* C4 d$ a7 h" M# P2 w9 s$ u - proxy_cache_valid 200 304 7d;' }. h' k6 s) ^; b% ^, p
- #200 304状态缓存7天,按实际情况修改
& k* x) O& L9 Z - #其他状态缓存(如502 404)10秒
z5 Y2 ]$ p. q" H. r* x, ^* A! o - proxy_cache_valid any 10s;
" _" c6 {! o7 v6 o! D - proxy_cache_key "$scheme$host$request_uri";
1 J3 R, j6 G& N8 |. S/ i - #缓存key规则,用于自动清除缓存。! _- C& Y6 _/ L# B# T6 v
- proxy_pass https://bbs.wdidc.net/;
3 n' D+ @$ {! V5 f - proxy_redirect off;% J' c0 T7 l3 N& G, o3 R( z
- proxy_set_header X-Real-IP $remote_addr;' Y: f& T! n/ u* N, G( p$ Z' }
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
0 @2 U6 O- [8 W4 i# s+ ?8 v( j - #向后端传递访客ip8 d0 X2 K( D0 E: R( `
- #limit_conn one 20;
y- x" ~* O8 N( r - #limit_rate 200k;
3 `9 B) {1 I3 }; p6 j2 P - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
- z. C$ m8 D2 N" {0 |" K) {. a: M - }' A7 @' _1 O) {" Z6 V& X7 [
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。8 l K2 A. w# m; ?" I
: S: w7 L6 Y v3 J5 u- /usr/local/nginx/sbin/nginx -t
复制代码 测试:若提示:“the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful”表示正常,若有错误请根据错误提示排除问题。1 v1 b* S& g# R9 h$ g$ A: l& U! ~
: y& |! Q# K$ K4 ?( r
重启nginx
0 ]3 y2 ?( D9 ?( d! P Y
1 q, c7 J7 V" V$ E) I% {4 Q, G: L) P- j
( q! J9 M2 f W
; _+ q8 j# l: h T4 U' p |