设为首页 收藏本站
查看: 877|回复: 0

[经验分享] nginx实用配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-11-12 08:44:40 | 显示全部楼层 |阅读模式
一.配置虚拟主机和流量统计,密码验证。
[iyunv@localhost html]# mkdir web1 web2
[iyunv@localhost html]# echo 'This is web1!!!' >> web1/index.html
[iyunv@localhost html]# echo 'This is web2!!!' >> web2/index.html
[iyunv@localhost html]# chown nginx web1 web2
[iyunv@localhost html]#htpasswd -c /usr/local/nginx/conf/htpasswd dragon //创建加密的帐号密码,htpasswd是apache下的一个加密工具。
[iyunv@localhost html]# ll
总计 16
drwxr-xr-x 2 nginx root 4096 11-10 04:40 web1
drwxr-xr-x 2 nginx root 4096 11-10 04:42 web2
[iyunv@localhost html]# vim /usr/local/nginx/conf/nginx.conf
在http{}内加入以下两句,导入虚拟主机的配置文件。
include /usr/local/nginx/conf/web1.conf;
include /usr/local/nginx/conf/web2.conf;

创建虚拟主机的配置文件,并写入主要配置
[iyunv@localhost html]# cat >> /usr/local/nginx/conf/web1.conf <<
server {
     listen       80;
     server_name  www.web1.com;     

      location / {
            root   /var/www/html/web1;
            index  index.html index.htm index.php;
        }
     location /status {  
                stub_status on;
                access_log /usr/local/nginx/logs/www1_status.log;
                auth_basic "NginxStatus";     #开启nginx统计功能。
                auth_basic_user_file ../htpasswd;    #开启密码验证,导入验证文件
               }
    }

[iyunv@localhost html]# cat >> /usr/local/nginx/conf/web2.conf <<
server {
     listen       80;
     server_name  www.web2.com;     

      location / {
            root   /var/www/html/web2;
            index  index.html index.htm index.php;
        }
     location /status {  

                stub_status on;
                access_log /usr/local/nginx/logs/www2_status.log;
                auth_basic "NginxStatus";
auth_basic_user_file ../htpasswd;

}
    }

[iyunv@localhost html]# cat >> /etc/hosts << END
> 192.168.1.122 www.web1.com
> 192.168.1.122 www.web2.com
> END
#测试所用,在 hosts写入DNS解析。

浏览www.web1.com
wKiom1Rh-W7BpSytAACUzygAlj8810.jpg
浏览www.web2.com
wKioL1Rh-dmCAVAwAACMeyxTiWU345.jpg
查看nginx统计信息时需要密码验证。
wKioL1Rh-dmhQLSsAAGcXKcMYBc089.jpg
查看统计信息,active connections 表示当前活动的连接数量,server accepts handled requests 表示已经处理的连接信息。reading :表示nginx读取到客户端Header信息数,“waiting”表示表示nginx返回给客户端的header信息数,“waiting”表示nginx已经处理完,正在等候下一次请求命令时的驻留的连接数。
wKioL1Rh-kSxxH2FAADNumSvzCo791.jpg




二.重定向实现新旧域名的过渡
#主要的配置,当用户访问www.web1.com时会被重定向到[url=http://www.web2.com]www.web2.com[/url]
server {
        listen       80;
        server_name  www.web1.com;
        rewrite ^/(.*)$ http://www.web2.com/$1 permanent;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /var/www/html;
            index  index.html index.htm index.php;
        }
include /usr/local/nginx/conf/web2.conf;
}
另一种方法,通过判断nginx核心变量host实现重定向功能
server {
server_name www.web1.com www.web2.com;
if ($host != 'www.web2.com')
rewrite
rewrite ^/(.*)$ http://www.web2.com/$1 permanent;
include /usr/local/nginx/conf/web2.conf;
}


三.隐藏nginx版本号
1、修改nginx.conf文件,在httpd区域中加入server_tokens off;如:
http {
……省略
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
server_tokens off;
…….省略
}

3.修改/usr/local/nginx/conf/下的php-fpm配置文件。
找到:
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
改为:
fastcgi_param SERVER_SOFTWARE nginx;
记得重载nginx和php-fpm

四.nginx自定义404页面


自定义nginx 404错误页面是提高用户体验的一个细节,如果是正规站,我们就必须做好它。你可以对每个网站的错误页面分别设置,也可以设置一个全局的404页面。

为指定位置设定一个404页面
location /my_blog {
    error_page    404 = /article_not_found.html;
}
整个网站的404页面
server {
listen 80;
    error_page  404  /page_not_found.html;
    ...
你可以用单个错误页面一起来处理多个错误代码
location /my_blog {
error_page 500 502 503 504 = /server_error.html
}
重定向到一个完全不同的服务器,假设你在http区域定义有一个上游服务器server2:
upstream server2 {
    server 10.0.0.1:80;
}
server {
    location /my_blog {
        error_page    404 = @try_server2;
    }
    location @try_server2 {
        proxy_pass http://server2;
    }





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-28198-1-1.html 上篇帖子: Nginx服务搭建 下篇帖子: Nginx + MySQL + PHP + Xcache + Memcached
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表