如何让nginx作为静态资源服务器
‘壹’ 如何让nginx只缓存静态文件
采用缓存技术可以提高网站公开的响应速度,但在一定程度上也降低了服务器的负载。
相比静态网页与动态网页,它不要求服务器端计算,所以在页面打开的响应速度为比动态页面更快!
虽然我不太懂,但是如果你掩盖了服务器上的静态页面。然后你用浏览器打开过这个网页,最好看空缓存,之前否则你不能马上看到效果
中国希望能帮到你。我感觉很好,帮我加分,谢谢。新年快乐!
‘贰’ linux下如何配置nginx服务器
网络nginx,就有很多配置安装技巧了。问题的涉及范围太广了,不好回答。
仅作参考:
#运行用户
usernobody;
#启动进程,通常设置成和cpu的数量相等
worker_processes1;
#全局错误日志及PID文件
#error_loglogs/error.log;
#error_loglogs/error.lognotice;
#error_loglogs/error.loginfo;
#pidlogs/nginx.pid;
#工作模式及连接数上限
events{
#epoll是多路复用IO(I/OMultiplexing)中的一种方式,
#仅用于linux2.6以上内核,可以大大提高nginx的性能
useepoll;
#单个后台workerprocess进程的最大并发链接数
worker_connections1024;
#并发总数是worker_processes和worker_connections的乘积
#即max_clients=worker_processes*worker_connections
#在设置了反向代理的情况下,max_clients=worker_processes*worker_connections/4为什么
#为什么上面反向代理要除以4,应该说是一个经验值
#根据以上条件,正常情况下的NginxServer可以应付的最大连接数为:4*8000=32000
#worker_connections值的设置跟物理内存大小有关
#因为并发受IO约束,max_clients的值须小于系统可以打开的最大文件数
#而系统可以打开的最大文件数和内存大小成正比,一般1GB内存的机器上可以打开的文件数大约是10万左右
#我们来看看360M内存的VPS可以打开的文件句柄数是多少:
#$cat/proc/sys/fs/file-max
#输出34336
#32000<34336,即并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统可以承受的范围之内
#所以,worker_connections的值需根据worker_processes进程数目和系统可以打开的最大文件总数进行适当地进行设置
#使得并发总数小于操作系统可以打开的最大文件数目
#其实质也就是根据主机的物理CPU和内存进行配置
#当然,理论上的并发总数可能会和实际有所偏差,因为主机还有其他的工作进程需要消耗系统资源。
#ulimit-SHn65535
}
http{
#设定mime类型,类型由mime.type文件定义
includemime.types;
default_typeapplication/octet-stream;
#设定日志格式
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指令指定nginx是否调用sendfile函数(zero方式)来输出文件,
#对于普通应用,必须设为on,
#如果用来进行下载等应用磁盘IO重负载应用,可设置为off,
#以平衡磁盘与网络I/O处理速度,降低系统的uptime.
sendfileon;
#tcp_nopushon;
#连接超时时间
#keepalive_timeout0;
keepalive_timeout65;
tcp_nodelayon;
#开启gzip压缩
gzipon;
gzip_disable"MSIE[1-6].";
#设定请求缓冲
client_header_buffer_size128k;
large_client_header_buffers4128k;
#设定虚拟主机配置
server{
#侦听80端口
listen80;
#定义使用www.zz04.com访问
server_namewww.zz04.com;
#定义服务器的默认网站根目录位置
roothtml;
#设定本虚拟主机的访问日志
access_loglogs/nginx.access.logmain;
#默认请求
location/{
#定义首页索引文件的名称
indexindex.phpindex.htmlindex.htm;
}
#定义错误提示页面
error_page500502503504/50x.html;
location=/50x.html{
}
#静态文件,nginx自己处理
location~^/(images|javascript|js|css|flash|media|static)/{
#过期30天,静态文件不怎么更新,过期可以设大一点,
#如果频繁更新,则可以设置得小一点。
expires30d;
}
#PHP脚本请求全部转发到FastCGI处理.使用FastCGI默认配置.
location~.php${
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}
#禁止访问.htxxx文件
location~/.ht{
denyall;
}
}
}
‘叁’ nginx静态代理怎么用
body{ line-height:200%; } 动静态网页分离,就是让动态PHP等程序网页去访问PHP Web服务器,让缓存页、图片、javaScript、CSS、Flash去访问Squid等缓存服务器。 在配置Nginx负载均衡与反向代理之前,我们首先来看一看NetScaler等硬件四/七层负载均衡交换机是如何实现负载均衡的如图6-6所示。 NetScarder的七层负载均衡是基于TCP的,可以用于Web Server、MySQL数据库、右键服务器等大多数基于TCP服务器的负载均衡。Nginx的七层负载仅支持HTTP、邮件协议,能够实现Web Sserver、右键服务器的负载均衡。在Web服务器集群应用中,可以通过Nginx负载均衡,来实现并代替NetScaler七层负载均衡的部分功能。对于以上的Netscaler负载均衡架构我们可以用以下的Nginx负载均衡架构来代替其中的Web服务器部分,如图6-7所示。
‘肆’ 如何配置nginx静态文
假设我们的静态文件位于 /Users/bowen 目录下,文件服务基本配置如下:
server {
client_max_body_size 4G;
listen 0.0.0.0:8888; ## listen for ipv4; this line is default and implied
server_name localhost;
root /Users/bowen/;
location / {
}
}12345678
location指令用来映射请求到本地文件系统。
root 指令用来指定文件在服务器上的基路径。
配置索引
server {
client_max_body_size 4G;
listen 8889; ## listen for ipv4; this line is default and implied
server_name localhost;
root /Users/bowen;
location / {
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
}1234567891011
执行sudo nginx -s reload重新加载配置。在浏览器中访问http://127.0.0.1:8889/,即可显示root指定的/Users/bowen目录下的内容。
‘伍’ 如何自动复制资源到nginx静态资源服务器
传统的web项目,一般都将静态资源存放在 webroot的目录下,这样做很方便获取静态资源,但是如果说web项目很大,用户很多,静态资源也很多时,服务器的性能 或许就会很低下了。这种情况下一般都会需要一个静态资源的服务器。
搭建nginx服务器首先得安装nginx服务,关于nginx服务的安装可以参考我的另一篇博客《nginx服务安装》这里直接介绍静态服务器的配置
进入nginx安装目录的conf目录下,修改nginx.conf文件,在一个server{}中添加 一个location 部分配置代码如下
root@ubuntu:/usr/local/nginx/conf# vi nginx.conf
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
location /image/ {
root /usr/local/myImage/;
autoindex on;
}
}
从上面的配置可以看出来 端口为80,server_name为localhost(写ip地址也可以)
location /image/ {
root /usr/local/myImage/;
autoindex on;
}
这个配置表示输入 localhost:80/image/ 时会访问本机的/usr/local/myImage/image/ 目录。所以要新建/usr/local/myImage/image/ 目录,同时还要在nginx安装目录的html目录中新建一个 与 location中 image同名的image目录,虽然该目录里面什么也没有,在/usr/local/my Image/image/ 中我们放一张图片1.jpg上去,重启nginx服务,就可以通过 localhost:80/image/1.jpg访问了
root@ubuntu:/usr/local/nginx/html# mkdir image
root@ubuntu:/usr/local/nginx/html# mkdir /usr/local/myImage/image
#放一张照片上去#
root@ubuntu:/usr/local/nginx/html# cd /usr/local/myImage/image
root@ubuntu:/usr/local/myImage/image# ls
1.jpg
root@ubuntu:/usr/local/myImage/image#
重启 nginx
root@ubuntu:/usr/local/nginx/sbin# ./nginx -s reload
root@ubuntu:/usr/local/nginx/sbin#
打开浏览器 输入 server_name:80/image/1.jpg 就可以访问该静态图片
‘陆’ 如何实现网站的伪静态,分别说一下nginx和apache的实现方式
Nginx下设置伪静态方法与Apache差不多,直接在nginx.conf (或者在对应的*.conf) 中找到需设置伪静态规则的服务器对应字段,在server{ location/{ } }中添加以下代码:
server{
listen80default_server;
server_name_;
location/{
root/usr/share/nginx/html;
indexindex.htmlindex.htm;
rewrite^(.*)list-([0-9]+)-([0-9]+).html$$1list.php?page=$2&id=$3;
}
}
添加后重启Nginx服务即可生效
apache
要使用httpd.conf文件来设置伪静态策略,我们可以直接在httpd.conf中写入如下代码,如果您的网站是配置在VirtualHost中,则将这段代码加到对应的<VirtualHost hostname>
<VirtualHost>
标签内:
<IfMolemod_rewrite.c>
#输入:list-123-456.html
#输出:list.php?page=123&id=456
RewriteEngineon
RewriteRule^(.*)list-([0-9]+)-([0-9]+).html$$1list.php?page=$1&id=$2
</IfMole>
添加完成后重启httpd服务后即可生效
‘柒’ 阿里云windows服务器nginx环境怎么配置伪静态
请输入以下命令
cd /alidata/server/nginx/conf/rewrite
再输入:ll
看看是不是像下面截图的一样
对了。这些就是伪静态规则文件。我们打开phpwind.conf看看。
我们已经在rewrtie目录下配置了常见程序的伪静态规则。您可以直接调用。
如果没有就按照
程序名.conf的命名方式新建一个配置文件
配置文件搞清楚了,你可能会说好像网站伪静态还是没效果啊。别着急,因为伪静态规则是需要被网站配置文件调用才行的。
输入以下命令
cd /alidata/server/nginx/conf/vhosts
进入到网站配置目录
修改好伪静态调用文件
下面测试下我们配置的文件是否正确吧
输入:
/alidata/server/nginx/sbin/nginx -t
看到了么?
nginx: the configuration file /alidata/server/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /alidata/server/nginx/conf/nginx.conf test is successful
如果出现以上两句话就说明配置成功了。下面重启下nginx
/alidata/server/nginx/sbin/nginx -s reload
恭喜您,伪静态配置完成!
总结,其实与其它自行安装的服务器区别在于相关文件目录位置问题了
‘捌’ 用nginx做一个静态站,直接访问文件夹名字404,直接访问当中的html文件就可以。。。
1、nginx是启动引入,因为nginx特别注重效率,所以启动的时候会把所有的配置文件读入内存,然后启动个。如果发现有语法错误,则启动失败。而apache则是动态引入,每次访问站点都会重新载入配置。
2、nginx中的include是手动添加,指定目录。apache已经把.htaccess作为它的一种特色机制,并且支持站所有子目录都可以有.htaccess文件。
根际实际开发经验,很多人在早期都是用虚拟空间的多,而早期的虚拟空间基本都是apache做webserver,所以用户不需要联系空间商就能自己做伪静态,而开源程序更是方便的拓展这一功能(ecshop,wordpress,phpcms等等)。并且维护也方便,只要覆盖.htaccess就好。
‘玖’ nginx+tomcat 动静态资源怎么部署
对外,nginx是一个服务器,所有的请求都先请求到nginx,然后再由nginx对内网进行请求的分发到tomcat,然后tomcat处理完请求后将数据发送给nginx,然后由nginx发送给用户,整个过程对用户的感觉就是nginx在处理用户请求。
既然这样子,nginx肯定需要进行配置,主要的配置文件是conf文件夹下的nginx.conf,因为我主要是进行了静态与动态分离,所以没有进行静态文件缓存,也没有进行负载均衡的配置。
‘拾’ 如何将 Nginx 配置为Web服务器
基于各种原因,有时想隐藏nginx的显示版本号,也为服务器更安全有如下几个方法
1 修改主配置文件nginx.conf在http {段加入server_tokens off;保存退出就可以了
2 也可以在编译前修改源代码,文件是src/core/nginx.h如果是已经安装的,就可以再编译安装一次就可以