Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
; h% Z/ W3 y' `% Z- _$ L) P/ O6 D' U
- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则# s0 x9 z& b) q K+ P9 M4 K$ `
- client_body_buffer_size 512k;
7 ?1 m2 @% Z: Z/ ` - proxy_connect_timeout 5;
, h/ Q. y2 {) k- k9 m - proxy_read_timeout 60;/ U) w& J5 @, J+ S" J! L( z3 E* {
- proxy_send_timeout 5;% {1 o+ e7 a# x& E4 ~
- proxy_buffer_size 16k;
$ `- M; Z1 e) Q# `8 q5 Y$ K3 l6 L - proxy_buffers 4 64k;3 Z2 y# j# f0 d: s, J% {7 I- m$ p
- proxy_busy_buffers_size 128k;
0 R+ d: F$ x8 f: i/ y" o - proxy_temp_file_write_size 128k;
. R6 P' B3 T' j5 I+ q4 C2 C! f - proxy_temp_path /home/cache/temp;
+ ~! r5 b$ f9 e. B# a0 G- b, Z - # 配置临时目录
* }4 K; n9 N5 b8 k: V( G& r - proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
# T( G6 G( ~' F9 s7 n: N5 Q - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:
, z7 Y% ^7 C1 o# \6 V4 a1 ~' w0 i- P2 C1 ^, S2 P) [9 ?9 l
- mkdir /home/cache/path -p- W+ q$ ~4 d9 _0 P8 o1 h3 O$ F
- mkdir /home/cache/temp, `' e4 r1 t s
- chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限; }" W. Q7 x9 N# g$ R+ A
, j$ m7 |2 h) v) ~- H1 F( l4 u. {
/ C% y! V! {( e, T! Y! @ M& Y9 D: r
先创建一个“www.wdidc.net”虚拟主机
4 W7 c* @$ m' V7 A- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。- k1 b/ P/ w: W% C3 n4 E6 }
5 j2 L& R& O A+ R4 k% ~删除之前系统生成的代码,填入以下代码,注意修改网址。0 D/ A% V6 b8 F
- server
* z8 e% ?& Y4 b - {1 R% b" b/ i- L w
- listen 80;
5 B, x* L8 e$ [ - server_name www.wdidc.net;5 x" z F5 F) h) F6 g) F2 s* Q
; C% g% |$ X, u# I4 Q8 I% R- location / {2 o) r8 y& Q' S
- proxy_cache cache;
8 V: H8 m1 Q# I5 S1 X2 X6 ] - proxy_cache_valid 200 304 7d;5 A5 E8 w6 u" ~9 |1 |4 g0 X
- #200 304状态缓存7天,按实际情况修改
1 N1 f: h! A, v2 n2 R - #其他状态缓存(如502 404)10秒+ T$ c [4 |% F8 C
- proxy_cache_valid any 10s;- g4 n. ~* ~+ E( V1 ~3 g) ]! D
- proxy_cache_key "$scheme$host$request_uri";: [- b2 v0 q( R- I
- #缓存key规则,用于自动清除缓存。
& R2 ~4 S$ R, V+ N0 K" | - proxy_pass https://bbs.wdidc.net/;
& t+ a1 `/ d( M6 p - proxy_redirect off;
' q w/ l# A4 x% A - proxy_set_header X-Real-IP $remote_addr;6 K( I: p5 W1 m' c2 C
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
( R, [7 q' R% W& ^3 n - #向后端传递访客ip d( ?! G/ ?4 C( C j
- #limit_conn one 20;
1 n: Q. k! G1 V7 O - #limit_rate 200k;1 P/ J w2 S l$ O
- #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
3 S& J7 x4 n1 u* x - }( z2 m7 o: y8 X6 ]3 g7 T: P
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。) G1 i p# R7 H6 u4 j9 B8 `
. X0 L. E) {0 }
- /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”表示正常,若有错误请根据错误提示排除问题。7 f3 a3 V1 J, J/ `
4 j9 j5 t* g0 {& _" Z! v0 h
重启nginx
5 P9 f- R% H% G& d: J4 |2 S6 j
* u9 O6 S. E" _( \6 ^1 X8 t2 u
! S. l; A) T) F, x5 [. x. F+ T- Q: g2 h
; ]% q4 ?8 k- p- U$ i* v# {, v" T
|