Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
) L+ y- O0 ?8 @. i0 C
+ u8 n( p7 w A: B! {" N* Y- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
0 w4 O6 R# @/ |; f# O7 a: W! Y- client_body_buffer_size 512k;6 O* p7 h: N/ s; Y5 i
- proxy_connect_timeout 5;
8 f! }7 b0 g0 c) m% v - proxy_read_timeout 60;$ M/ k/ t& s5 k& f! `# f; @
- proxy_send_timeout 5;1 P% _" |7 V! J! m/ Z9 m9 O
- proxy_buffer_size 16k;- q; F9 V% h( k& p
- proxy_buffers 4 64k;
- X$ r7 p$ M$ [$ N, C; b# r+ [0 P0 O - proxy_busy_buffers_size 128k;
0 k0 ^. L3 ]; ^5 i% S6 l - proxy_temp_file_write_size 128k;% ]- `4 J2 u0 g7 K% R- G
- proxy_temp_path /home/cache/temp;
4 n" @: ^( R: y5 A& l2 g - # 配置临时目录" p% L H. C: R' p% U% b* k3 [
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m; r( A! I& h; n: |3 {
- #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:& ~1 e) _( f4 |7 ]" q7 t
$ \3 @: T* S9 @, }; ^- mkdir /home/cache/path -p- L* V% \9 K4 m- s3 F& Q: G
- mkdir /home/cache/temp
7 x* }+ e& h' i6 V- B - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限; Y) H: B- l) j8 a, h! I& M
/ I B" F) y: ^$ `; R# C9 w0 J9 d
6 p% I5 s# h8 c3 Y% M( t0 E先创建一个“www.wdidc.net”虚拟主机7 e6 c2 ?# P% m& a& ?
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。! ~5 ?/ F% |, ~; b1 X
7 P; b$ p- M( o$ h; e. J9 g删除之前系统生成的代码,填入以下代码,注意修改网址。
, @. m9 a; y$ F. u8 j. @ b- server
, W* I. B) p$ g; F0 I9 g - {, p7 m9 Z6 \+ P4 {
- listen 80;
+ o" q( b. v2 X1 I/ n - server_name www.wdidc.net;5 T* I; Z8 d& E; o3 X( r- G
" J1 @( K3 m4 P- Z6 f, s2 J6 N8 J- location / {! G, A" g; P2 J3 E
- proxy_cache cache;. L+ o# y* U# ?) P9 r2 M" f. t$ e
- proxy_cache_valid 200 304 7d;
, v: L* ]7 [3 k- h3 I1 F! r6 L) T - #200 304状态缓存7天,按实际情况修改
' ~; f, u: {/ `- Y5 R3 ^4 e - #其他状态缓存(如502 404)10秒- }: m1 ~# v! @2 S
- proxy_cache_valid any 10s;
7 U6 }9 b+ j; I3 z8 p - proxy_cache_key "$scheme$host$request_uri";
4 v2 W0 z3 g9 ~ - #缓存key规则,用于自动清除缓存。: I2 N9 d5 e; a) D7 X- Z7 g
- proxy_pass https://bbs.wdidc.net/;$ s& @4 c# m" b5 f
- proxy_redirect off;
. k1 t; O% k. j# c c- H - proxy_set_header X-Real-IP $remote_addr;5 U; \4 _2 A5 P T: [- ] x
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; f8 i& Z( B; v& N: Z( _4 P
- #向后端传递访客ip3 }$ P1 D1 r3 h4 x" R/ j U( b7 O6 X
- #limit_conn one 20;4 e/ m$ p' a( f# U9 q t! h1 p
- #limit_rate 200k;
! n2 G" M5 {' ~0 d. \* P- v( m. [ - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
' I1 y7 Y; p# y5 L4 [8 g& w6 O - }& q4 r% F! J p0 i/ ~4 A
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。# J: t( i# r8 [* g) Q( V
. k9 G1 R9 I8 p
- /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”表示正常,若有错误请根据错误提示排除问题。: G- x/ m4 U0 Z. s) X
# R' c! L6 _+ n* t! c- V重启nginx
- x" j) k: \0 W
+ ^5 E5 U* {. Q9 Q6 D: z) e- N3 o# G3 J0 B$ l$ r
# g% N6 X* q9 B/ A8 ^/ ~
' N( P# D4 o% ~- V r6 P' X( R3 V
|