Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx,只需要简单的几条命令保存到文件,即可实现简单、基本反向代理功能。
3 Z+ a8 x# e8 P4 N
- `* P9 E4 U; A" R- vim /usr/local/nginx/conf/nginx.conf
复制代码 修改nginx默认规则
" L: k. F: k. {" M7 a8 z+ f+ {, l/ {- client_body_buffer_size 512k;1 T- ~1 K, p* v9 R- d% P
- proxy_connect_timeout 5;
! _9 C8 u! M9 b3 N6 S D0 D - proxy_read_timeout 60;
/ M+ p- \$ K$ f( O0 n - proxy_send_timeout 5;, x. O* s# C6 M" g6 G7 _
- proxy_buffer_size 16k;
* x( q6 _% W" }/ H% j. V - proxy_buffers 4 64k;
; j& \" S" h5 z3 |1 } - proxy_busy_buffers_size 128k;
5 Z9 D2 G+ u* f$ B; {4 e# I5 u" r - proxy_temp_file_write_size 128k;
0 h1 _. J6 o4 t( e - proxy_temp_path /home/cache/temp;, k% S5 e1 L3 I: Z
- # 配置临时目录6 _/ ^7 Z' {/ A6 h
- proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
* f! i; e( A j, _ @2 @ C0 K - #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.
复制代码 vim /usr/local/nginx/conf/nginx.conf 查找:#limit_conn_zone $binary_remote_addr zone=perip:10m; 并在前面加入以上内容:. z, c+ v1 u8 {8 s, T* T$ b
0 H0 b' `' E# @2 l- mkdir /home/cache/path -p0 v9 r- h! g$ ~- y2 ~+ G: r$ h$ t
- mkdir /home/cache/temp
$ S5 W! C( d6 e: x2 n6 O! y/ K - chmod 755 -R /home/cache
复制代码 创建缓存目录,并赋予权限7 v# [+ f. H5 [
+ L; {; Z( Q q I4 B" j4 L4 k% n3 L$ C* O2 x
先创建一个“www.wdidc.net”虚拟主机# v. p1 Y' J+ p! s" {
- cd /usr/local/nginx/conf/vhost
复制代码 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“www.wdidc.net.conf”文件,并编辑。. Q$ I; G' R7 _2 k W1 t& W
U5 l4 L& m* e" C# u5 O
删除之前系统生成的代码,填入以下代码,注意修改网址。. @7 k8 \* p- \: `
- server
& `: B$ O1 v& i" `" A8 i - {, U+ e* Q. W) H, L1 ~
- listen 80;* e8 U5 t- o+ R! Q$ ]
- server_name www.wdidc.net;8 b6 c1 d4 c# u1 |2 E' I
- $ f2 J$ g2 Q/ y. |) X T* ^9 B0 g2 B
- location / {
* B) x$ Q6 g. q - proxy_cache cache;( y( v1 R) C: f j
- proxy_cache_valid 200 304 7d;
, C) K, ~- I) [8 o - #200 304状态缓存7天,按实际情况修改
9 \7 M T( p2 i7 A- ]! F6 W - #其他状态缓存(如502 404)10秒
7 H, {$ x4 d0 B" e - proxy_cache_valid any 10s;! S/ x- ]* J. M
- proxy_cache_key "$scheme$host$request_uri";$ H* P/ y. y" f! c/ h
- #缓存key规则,用于自动清除缓存。2 j) y# K% U+ o0 m1 [# R$ Y
- proxy_pass https://bbs.wdidc.net/;
4 p/ j% y% F, Q% ^! `- d/ z- R6 F - proxy_redirect off;/ J! u" _- F# C6 o% U$ Q
- proxy_set_header X-Real-IP $remote_addr;( l; w5 i$ X9 n/ P" X m3 S2 x
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
& [* _6 F @4 a* a0 z" D5 g - #向后端传递访客ip
6 v1 p" r" ?: |* v; [. O! M - #limit_conn one 20;
0 @1 D/ v" Y# W& ^ - #limit_rate 200k;
! ~ r6 S, E/ u3 b$ R - #20为单ip连接数,200k为单ip连接速度,若要开启请去掉#
6 [/ _9 L3 I/ I8 {- v - }8 Z2 [& L" Q) k/ B3 u/ l& r
- }
复制代码 以上代码,表示使用“www.wdidc.net”反向代理“bbs.wdidc.net”,然后保存文件即可。6 T8 }4 }- E2 H$ T
- v$ _7 F* t ]: J* E
- /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 C7 Z; c# T) U' `. f
+ G1 A6 r9 x) M: P+ h4 \! B重启nginx: K9 E: n$ l Q4 D
: h- A9 `8 ^. J0 P2 D! @
* H; n4 I' R, G( v9 G
- _- ]$ u3 C5 p8 ^2 ~* \- k+ O* ~ K+ ]
|