Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。- B5 l+ R2 ?; y# h5 B
1 o( G% J- P7 o: q' U3 v
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
) P* }) G. W% c- client_body_buffer_size 512k;
6 E, t9 F# D7 g - proxy_connect_timeout 5;. S$ H1 L; Z# R) q# l' _5 w
- proxy_read_timeout 60;& ]/ _- }7 R1 I- w- u- F9 L: z3 e. N
- proxy_send_timeout 5;
/ ~* Z5 j" a9 P; m) [ - proxy_buffer_size 16k;
! S# C' F$ o4 w* w) @4 K - proxy_buffers 4 64k;* V- D4 `5 a5 b3 @2 I* Z* B, B
- proxy_busy_buffers_size 128k;! N) Z5 i% X2 N, B$ r2 W7 b
- proxy_temp_file_write_size 128k;
& ]* ]" o* C* x$ N - proxy_temp_path /home/cache/temp;
2 {0 A* ]* @. [1 _ - # 配置临时目录
9 @; ^5 a8 X# A - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
4 v/ V" G+ g3 E# \# O8 L3 @ - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
: v8 N1 T8 A. ]! `0 U6 Z k
2 j. _3 f* H9 e$ h" J1 w- mkdir /home/cache/path -p# v! x' m- K+ }6 w9 E
- mkdir /home/cache/temp
3 U6 a) S) s0 W% r" _ - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限" a$ f. Q6 `+ K: T/ W
5 c3 l9 a2 d; B8 `
( F# J' s/ D0 e A4 g4 k3 j先创建一个“www.wdidc.net”虚拟主机# X1 R0 j% u m
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。
) C0 g% R9 z* j' c; X; y; Z4 a! w
Q g% O4 s$ I! k/ H6 i3 z' u. Q9 Z删除之前系统生成的代码,填入以下代码,注意修改网址。% t4 h; Q' y' p2 j$ M1 e
- server3 ]. H# b* [8 \8 G- D
- {# r. W7 |; D- m( ~8 f
- listen 80;
$ {1 w1 p2 W- [% { - server_name www.wdidc.net;
1 C* t6 m. E& e8 ?% L6 L$ `
2 n3 ^$ Z" K# ?+ T4 h- o- location / {1 w+ {& R \8 U2 x1 f7 ~2 m! [
- proxy_cache cache;
5 {9 {3 C, B8 ~: G - proxy_cache_valid 200 304 7d;
% X! C3 k% \: T( i" i l - #200 304状态缓存7天,按实际情况修改
- _& s5 k/ n3 f6 L4 L5 q0 O( \ - #其他状态缓存(如502 404)10秒
/ i O5 R' e& k+ n0 ? - proxy_cache_valid any 10s;
9 e- K, E E' z% h# U( a+ s - proxy_cache_key "$scheme$host$request_uri";
( S( x, ^/ c5 u$ w9 m - #缓存key规则,用于自动清除缓存。
& r! t/ B' o M* I* n% q - proxy_pass https://bbs.wdidc.net/;5 X3 M. q7 w+ ^; w
- proxy_redirect off;
0 G7 y6 B3 L0 i* \ - proxy_set_header X-Real-IP $remote_addr;& f+ ^' z5 X9 e$ j5 l4 M0 ?& c. n
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;9 M* n# T; S6 h7 p
- #向后端传递访客ip
9 @ [/ n: s% B - #limit_conn one 20;
9 q* @/ l% t% `: Q1 {/ h) [* Q - #limit_rate 200k;
, z- r3 g! [, t, B+ v. U: \5 X - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
9 t L) i; ]1 b+ [ - }! x/ Z, c! Z* Q: M k9 P9 p# w
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。
1 @) h# C+ M5 j9 y; z5 {- \! [) D. E3 H& W7 d; x# N
- /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”表示正常,若有错误请根据错误提示排除问题。# F5 ^5 B6 L- _
- i# A5 g" y6 R5 m- f( v7 G# E1 _重启nginx" i8 c x4 {+ I4 I% R; \4 F# x
! a! L0 e5 x5 o* @
4 p# m% _. G" ]9 C2 f8 d: G9 v! V) \+ y1 u
" Z& _6 F w( v2 \: U( ~$ u
|