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访问,错误页面的跳转,对站点目录及目录权限优化,控制并发连接数量,控制客户端请求的速率。

[[email protected] conf]# ca t nginx.conf

user  nginx  nginx;  #更改默认用户

worker_processes  2;   #因有2个CPU,所以配置2个进程数

worker_rlimit_nofile  65535;  #进程最大打开文件数,该要放在主标签段

events {

use epoll;  #事件处理模型优化

worker_connections  512;  #单个客户进程允许的客户端连接数,因硬件配置太低,所以设置数字比较小;

}

http {

include       mime.types;

default_type  application/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_size  8m;   #上传文件大限限制

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  60;  #设置连接超时

# 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_name  117.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=one  burst=30;   # 30个请求排队

location / {

root  /application/nginx/html/www;

error_page 404  /404.html;   #当出现404错误时,会跳转到404.html页面

  error_page 404  http://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;     #除了上面允许的,其他的都禁止。

}

}

}

[[email protected] html]# chmod 755 www  #目录权限,保证不遭受木马入侵

[[email protected] www]# chmod 644 *.*   #文件权限

时间: 2024-10-27 08:27:51

Nginx发布静态业务的相关文章

nginx发布静态资源

nginx发布静态资源 参考 ngx_http_index_module index指令 ngx_http_core_module http指令 location指令 listen指令 root指令 server指令 server_name指令 步骤 创建静态资源 为 conf/nginx.conf http模块中新增server模块 静态资源结构 E:\mozq\00store\frxx ├─frxx │ bug.png │ weixin.png server模块配置 server{ list

nginx发布静态目录备忘

前阵子配一个静态目录,想当然的觉得相当简单,不就是写个目录吗.配完以后怎么都不行,一直出404. 找了一些文章,看来看去,我的配置是对的呀,这实在奇怪. 今天中午吃饭时候突然想到,可能是因为目录多写了一级,饭后一试,果然. 原先配置文件里是这样写的: server / { root /opt/www; } server /test { root /tmp/test; } 提示404. 现在把/tmp/test部分改成/tmp就可以了.因为/test已经表示是在你写的目录里找test目录,我原来那

Web的形式发布静态文件

Web的形式发布静态文件 虽然ASP.NET Core是一款"动态"的Web服务端框架,但是在很多情况下都需要处理针对静态文件的请求,最为常见的就是这对JavaScript脚本文件.CSS样式文件和图片文件的请求.针对不同格式的静态文件请求的处理,ASP.NET Core为我们提供了三个中间件,它们将是本系列文章论述的重点.不过在针对对它们展开介绍之前,我们照理通过一些简单的实例来体验一下如何在一个ASP.NET Core应用中发布静态文件.[本文已经同步到<ASP.NET Co

Nginx 动静态访问分离

1.静态 1)图片   #过虑图片     location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {          root D:/www; #静态文件存放路径     } 2)js.css #过虑js和css,静态页面     location ~ .*\.(js|css|html|htm)?$  {          root D:/www; #静态文件存放路径          } 2.动态 1).jsp和.do #过虑动态页面.jsp和.do     

nginx 提供静态内容

This section describes how to serve static content, how to use different ways of setting up the paths to look for files, and how to set up index files. 这一章讨如何提供静态文件,如何使用不同方式设置查找文件的路径,如果设置索引文件. Root Directory and Index Files根目录和索引文件 The rootdirective

github从上传代码到发布静态网站

1.上传代码 第一步:建立git仓库 cd到你的本地项目根目录下,执行git命令 git init 第二步:将项目的所有文件添加到仓库中 git add . 如果想添加某个特定的文件,只需把.换成特定的文件名即可 第三步:将add的文件commit到仓库 git commit -m "注释语句" 第四步:去github上创建自己的Repository,创建页面如下图所示: 点击下面的Create repository,就会进入到类似下面的一个页面,拿到创建的仓库的https地址,红框标

解决nginx发布网站跨目录访问

解决nginx发布网站跨目录访问(thinkphp5+lnmp) 到:usr/local/nginx/conf/vim fastcgi.cof 把最后一行加上井号#注释掉保存重启 restart 参考:http://www.cnblogs.com/q1104460935/p/7028881.html

利用一个ASP.NET Core应用来发布静态文件

虽然ASP.NET Core是一款"动态"的Web服务端框架,但是在很多情况下都需要处理针对静态文件的请求,最为常见的就是这对JavaScript脚本文件.CSS样式文件和图片文件的请求.针对不同格式的静态文件请求的处理,ASP.NET Core为我们提供了三个中间件,它们将是本系列文章论述的重点.不过在针对对它们展开介绍之前,我们照理通过一些简单的实例来体验一下如何在一个ASP.NET Core应用中发布静态文件.[本文已经同步到<ASP.NET Core框架揭秘>之中]

Nginx 配置静态文件过期时间&防盗链

[[email protected] ~]# vim /usr/local/nginx/conf/vhosts/linux.conf location ~ .*\.(gif|jpeg|jpg|png|bmp|swf)$ { access_log off; expires 1d;  #过期时间 1天 } location ~ .*\.(js|css)  #此也也可改为  \.(js|css)来匹配 {     access_log off; expires 2h; } [[email protec