Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。* z0 _9 F5 d- f
' V; V0 H: X' e# P, G& L- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
; a* x2 \% D9 B/ v6 {- client_body_buffer_size 512k;
. y. ~' Y, R) q `8 K0 K% c$ y - proxy_connect_timeout 5;8 D( u7 ?, d, L2 G% z2 d$ o
- proxy_read_timeout 60;
) G5 Q7 M1 p) s9 ~2 }0 I* E, T - proxy_send_timeout 5;
' n$ T+ P' M7 E. j, J6 { - proxy_buffer_size 16k;0 c5 W0 G8 _8 \: R- j, y! o
- proxy_buffers 4 64k;- ^% D, H' U- q; O, e" k F! v
- proxy_busy_buffers_size 128k;2 N( v8 W7 C- Y; J! N- B
- proxy_temp_file_write_size 128k;
' B' N3 m+ ^1 g7 j. f8 p5 _! ~0 S9 v+ n - proxy_temp_path /home/cache/temp;& O5 |2 m# w; j1 l6 T
- # 配置临时目录4 o- I( R5 n% k+ s, n
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;# ^- c& T7 J9 V5 t& c2 |
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
$ H F# H- b* A" ]* e) e8 o2 @# A) N" e& z9 @
- mkdir /home/cache/path -p
, ~4 Z( b( d3 G! p+ c - mkdir /home/cache/temp$ Z1 n5 e! e$ a' w
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限
, e7 w" R. K6 X# a6 u+ [
" {4 _" t2 m: s% M
/ I3 _; s) k8 [* b+ ?* G6 N先创建一个“www.wdidc.net”虚拟主机
* k) M' N( n- U( R5 I" |- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。) A% v- n) l1 d; Q, e$ a+ a
1 i6 b3 l6 B5 l
删除之前系统生成的代码,填入以下代码,注意修改网址。) f. N" ?( b6 r2 F5 M2 _7 |
- server! E8 r0 @/ D6 G, c4 `. ^* r
- {
Y4 u& X- i% m" W' u* h* f - listen 80;# X* s, H+ N! H3 X' _' }
- server_name www.wdidc.net;
) g; C7 f$ l' ^0 y2 d G - 3 b0 ~( I" \+ \* d1 E8 t
- location / {) W$ M9 V3 S! }, U% A
- proxy_cache cache;$ |6 p* W5 M2 _- _' X7 n
- proxy_cache_valid 200 304 7d;
. Q& ], c$ b5 u' _ K6 i - #200 304状态缓存7天,按实际情况修改
0 s( {/ S) e3 ?, z - #其他状态缓存(如502 404)10秒
- z: l6 B! y3 Z* V* ~1 ]; p" U - proxy_cache_valid any 10s;9 \* b5 x9 t) z( V2 o: o" f9 |. D
- proxy_cache_key "$scheme$host$request_uri";/ P% a# B. {" G9 q1 ?9 a
- #缓存key规则,用于自动清除缓存。* k. T1 `% T* p# B
- proxy_pass https://bbs.wdidc.net/;% Z( _: E# g. R s
- proxy_redirect off;
* a; f, k( `8 X# _& u - proxy_set_header X-Real-IP $remote_addr;
& o9 s2 @0 _ |4 K9 o* v8 o" s - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
8 s# X/ M+ w6 i - #向后端传递访客ip; n2 p. c b1 ?9 a1 Y" g8 B3 [% Z
- #limit_conn one 20;
& X0 y7 w0 i3 n j8 z) [ T - #limit_rate 200k;3 U3 x. S+ L# f( b: Z
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#* _) r+ |' v# m7 Y V+ S
- }3 @( b/ G% m* n. V7 Y4 s9 \
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
l; \: C' ]! T- ]* V. W. ?
8 ` [: \4 \0 [+ y& b. z- /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”表示正常,若有错误请根据错误提示排除问题。5 C) a- X3 M! G4 H5 q7 M5 M/ ] M
; h3 {8 f1 o( R& c! n重启nginx3 d% P% l' Y4 h2 L" i
0 d/ t9 [8 g6 i, L5 [6 y7 }- v5 D, o+ h# Y" _7 E; x
+ {7 I+ J& ]$ q3 r: B5 C; r. M
) E5 s( W) I: |8 m: }( i) J |