今天碰到一个nginx相关的需求,算是头一次在生产环境真实运用到这东西吧,许久以前看过相关教程,感觉已经忘完了,留个笔记吧!!!
nginx的亮点在于:反向代理、负载均衡、动静分离
反向代理
这里不对反向代理做过多解释,直接看真实运用。
(1):需求:在服务器tomcat部署web服务,通过反向代理访问该项目
(2):环境:java1.7、tomcat7、nginx
(3):启动tomcat、启动nginx并分别访问
http://192.168.90.240/
http://192.168.90.240:8088/ruidong
2017-09-27_141140.png(4):修改nginx配置文件,做项目映射
在server下添加一个location映射即可
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
#负载均衡设置(被下边引用)
upstream github{
server 127.0.0.1:88;#git安装地址
server 127.0.0.1:88;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
client_max_body_size 500m;
location / {
proxy_pass http://github;#默认访问git
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#项目反向代理配置
location /ruidong {
proxy_pass http://localhost:8088/ruidong;
proxy_redirect default;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
图片服务器
nginx可以通过反向代理直接做图片服务器,而且配置简单高效,还可以做到负载均衡,跟上边的反向代理服务一样,同样是通过映射找到图片文件夹
(1):先来看看我们的图片放在服务器的哪个目录下
/home/images
(2):添加配置
2017-09-27_144000.png#设置扩展名以.gif、jpg、jpeg、png结尾
location ~ .*\.(gif|jpg|jpeg|png)$ {
expires 24h;
root /home/images/;#root根目录,即图片文件夹
access_log /home/images/nginx/images.log;#图片日志,这里可以不配,但如果配了就要在对应目录下有此文件
proxy_store on;
proxy_store_access user:rw group:rw all:rw;#图片权限配置
proxy_temp_path /home/images/;#设置缓存文件夹
proxy_redirect off;
proxy_set_header Host 127.0.0.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 1280k;
proxy_connect_timeout 900;#设置连接超时时间
proxy_send_timeout 900;#后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 900;#连接成功后,后端服务器响应时间(代理接收超时)
proxy_buffer_size 40k;
proxy_buffers 40 320k;
proxy_busy_buffers_size 640k;
proxy_temp_file_write_size 640k;#设置缓存文件夹大小
if ( !-e $request_filename) {
proxy_pass http://localhost:80;
}
}
测试:http://192.168.90.240/15.png
2017-09-27_150020.png到这里就结束了,是不是很简单!!!
nginx相关配置简述:http://www.jianshu.com/p/ecec203952cb
网友评论