iyufygfd 发表于 2016-12-26 09:09:28

Nginx发布静态业务

生产环境:
操作系统:CentOS 6.8
Web服务软件:nginx-1.10.1
任务驱动:接到领导指示,要把14G左右大小的大学生创业序列视频发布到网上。
分析任务:考虑到此视频容量大,该格式不支持在线播放,又要有利用于学校师生方便获取视频资料,同时又要迎接上级检查。
解决方式:让师生下载视频到本地电脑观看学习。
效果:通过完成实战任务来消化1个月来学习nginx的知识。
有两种方案可供选择:
1.CentOS+Apache: 动态业务,可以选择Apache,建议选择nginx。2.CentOS+nginx:静态业务,高并发场景,采用Nginx,既有静态业务又有动业务,也将采用Nginx,此项任务是静态业务,所以选择nginx。操作步骤:
1.在客户端先分别压缩各个视频,然后通过WinSCP上传到Linux服务器。2.安装nginx服务软件省略。3.主要是对nginx的基本安全优化,对参数优化提升服务性能,限制网站来源IP访问,错误页面的跳转,对站点目录及目录权限优化,控制并发连接数量,控制客户端请求的速率。# ca t nginx.conf
usernginxnginx;#更改默认用户
worker_processes2;   #因有2个CPU,所以配置2个进程数
worker_rlimit_nofile65535;#进程最大打开文件数,该要放在主标签段
events {
    use epoll;#事件处理模型优化
    worker_connections512;#单个客户进程允许的客户端连接数,因硬件配置太低,所以设置数字比较小;
   }
http {
    include       mime.types;
    default_typeapplication/octet-stream;
    charset utf-8;   #解决网页乱码
    server_tokens off;   #关闭显示服务版本信息
    tcp_nodelay on;   #提高I/O性能
    client_header_timeout 15;   #客户端请求头数据的超时时间
    client_body_timeout 15;   #客户端请求主体的超时时间
    send_timeout 25;
    client_max_body_size8m;   #上传文件大限限制
    log_formatmain'$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    #access_loglogs/access.logmain;
    sendfile      on;#开启文件的高效传输模式
    tcp_nopush   on;#防止网络和磁盘阻塞
    keepalive_timeout60;#设置连接超时
# include extra/nginx_vhosts.conf;
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=one:20m rate=1r/s;#控制客户端请求的nginx速率
server {
   listen 9090;   #采用9090端口,默认的是80端口
   server_name117.40.*.*:9090;
   access_log/application/nginx/logs/www.access.log;
   error_log/application/nginx/logs/www.error.log;
limit_conn addr 10;    #限制单IP的并发连接数为10   limit_req zone=oneburst=30;   # 30个请求排队
location / {
   root/application/nginx/html/www;
   error_page 404/404.html;   #当出现404错误时,会跳转到404.html页面
error_page 404http://117.*.*.*;   #两种方式选择使用其中一种来解决实际问题
   autoindex on;   #开启显示目录功能
   autoindex_exact_size off;#显示出文件的大概大小,单位是GB
   autoindex_localtime on;   #显示的文件时间为文件的服务器时间
   deny 192.168.1.1;    #只允许该IP访问
   allow 192.168.1.0/24;#只允许该IP段访问
   allow 192.168.0.0/16;#只允许该IP段访问
   allow 117.40.*.*/24;#只允许该IP段访问
   allow 182.99.242.*;#只允许该IP访问
   deny all;   #除了上面允许的,其他的都禁止。
   }
   }
}   
# chmod 755 www#目录权限,保证不遭受木马入侵
# chmod 644 *.*   #文件权限


页: [1]
查看完整版本: Nginx发布静态业务