第二十一课时预习笔记

 一、修改nginx.conf配置文件

 

mkdir /usr/local/ngxin/conf/vhost             #创建vhost 子目录

vim /usr/local/ngxin/conf/vhost/aaa.com.conf     #编辑一个文件 添加下面内容

server
{

listen 80 default_server; 
server_name aaa.com;
index index.html index.htm index.php;
root /data/wwwroot/default;

}

 

mkdir -p /data/wwwroot/default      #创建网站所放的目录

vim index.html   #创建网站首页

This is the default size            #添加内容

 

/usr/local/nginx/sbin/nginx -t      #检查配置文件是否错误

/usr/local/nginx/sbin/nginx -s reload    #重新加载 

ngxin设置用户认证

vim /usr/local/nginx/conf/vhost/test.com.conf           #添加一个虚拟主机配置文件

添加下面内容

server {
listen 80;
server_name test.com;
index index.html index.htm index.php;
root /data/wwwroot/test.com;

location /admin/                #这里/指定的全部 ~指定单个文件
{
auth_basic "Auth";
auth_basic_user_file /usr/local/ngxin/conf/htpasswd;

autoindex on;

        #定义的用户名密码文件,这里需要用htpasswd

}

}

 

yum -y isntall httpd   #安装http

htpasswd -c /usr/local/nginx/conf/htpasswd aaa             #设置一个用户为aaa  -c只要指定一次就好,如果需要在添加多个用户 不需要指定,这里-c指覆盖
New password:                          #密码bbb
Re-type new password:   
Adding password for user aaa

/usr/local/nginx/sbin/nginx -s reload   #重新加载

ngxin设置域名重定向

 

修改(二)的test.com.conf配置文件

server
{
listen 80;

server_name test.com test2.com test3.com;       #多添加几个域名
index index.html index.htm index.php;
root /data/wwwroot/test.com;


if ($host != 'test.com' ) {
rewrite ^/(.*)$ http://test.com/$1 permanent; 

}                                          #写成全部是 rewrite  http://$host/^/(.*)$ http://test.com/$1 permanent; 

}
 

ngxin设置日志格式

 

 

 

 

 

nginx设置静态文件不记录日志

一、配置test.com.conf配置文件 添加下面代码


location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

expires 7d;
access_log off;

}

location ~ .*\.(js|css)$
{


expires 12h;
access_log off;
}

 

实验:

 

 

nginx如何设置防盗链

如果您使用的是默认站点,也就是说,您的站点可以直接输入服务器IP访问的,使用root登录,修改 /usr/local/nginx/conf/nginx.conf 这个配置文件。

如果您新建了站点,那么修改/usr/local/nginx/conf/vhost/你的域名.conf 这个配置文件,找到:

1

2

3

4

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

{

 expires      30d;

}

把这一段删掉,修改成:

1

2

3

4

5

6

7

8

location ~* \.(gif|jpg|png|jpeg)$ {

    expires     30d;

        valid_referers none blocke *.hugao8.com www.hugao8.com m.hugao8.com *.baidu.com *.google.com;

    if ($invalid_referer) {

    rewrite ^/ http://ww4.sinaimg.cn/bmiddle/051bbed1gw1egjc4xl7srj20cm08aaa6.jpg;

    #return 404;

    }

    }

第一行: location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

其中“gif|jpg|jpeg|png|bmp|swf”设置防盗链文件类型,自行修改,每个后缀用“|”符号分开!

第三行:valid_referers none blocked *.it300.com it300.com;

就是白名单,允许文件链出的域名白名单,自行修改成您的域名!*.it300.com这个指的是子域名,域名与域名之间使用空格隔开!

第五行:rewrite ^/ http://www.it300.com/static/images/404.jpg;

这个图片是盗链返回的图片,也就是替换盗链网站所有盗链的图片。这个图片要放在没有设置防盗链的网站上,因为防盗链的作用,这个图片如果也放在防盗链网站上就会被当作防盗链显示不出来了,盗链者的网站所盗链图片会显示X符号。

这样设置差不多就可以起到防盗链作用了,上面说了,这样并不是彻底地实现真正意义上的防盗链!

我们来看第三行:valid_referers none blocked *.it300.com it300.com;

valid_referers 里多了“none blocked”

我们把“none blocked”删掉,改成

valid_referers  *.it300.com it300.com;

 

nginx彻底地实现真正意义上的防盗链完整的代码应该是这样的:

1

2

3

4

5

6

7

8

location ~* \.(gif|jpg|png|jpeg)$ {

    expires     30d;

    valid_referers *.hugao8.com www.hugao8.com m.hugao8.com *.baidu.com *.google.com;

    if ($invalid_referer) {

    rewrite ^/ http://ww4.sinaimg.cn/bmiddle/051bbed1gw1egjc4xl7srj20cm08aaa6.jpg;

    #return 404;

    }

    }

这样您在浏览器直接输入图片地址就不会再显示图片出来了,也不可能会再右键另存什么的。

第五行:rewrite ^/ http://www.it300.com/static/images/404.jpg;

这个是给图片防盗链设置的防盗链返回图片,如果我们是文件需要防盗链下载,把第五行:

rewrite ^/ http://www.it300.com/static/images/404.jpg;

改成一个链接,可以是您主站的链接,比如把第五行改成:

rewrite ^/ http://www.it300.com;

这样,当别人输入文件下载地址,由于防盗链下载的作用就会跳转到您设置的这个链接!

最后,配置文件设置完成别忘记重启nginx生效!

Nginx访问控制

配置nginx进程个数和链接数量

worker_processes  1;//进程个数,一般配置的数目和主机cpu的总核数相同。
worker_connections  1024;//单个进程最大链接数量

配置IP访问控制

location / {
deny 192.168.1.109;         //禁止访问192.168.1.109;
allow 192.168.1.0/24;192.168.0.0/16;192.0.0.0/8;        //允许访问192.168.1.0-192.168.1.254,其他两个网段同理
allow all;              //允许所有
}

匹配规则:按照顺序依次检测,直到匹配到第一条规则,如果全部没有匹配到,则允许。

配置用户访问认证

location / {
    auth_basic   string|off          //string为用户认证时候的提示信息,off为关闭认证
    auth_basic_user_file   conf/htppasswd   //用户密码加密文件路径
}

创建用户密码加密文件: 
官方文档说可以用Apache发行包中的htpasswd命令来创建此类文件,所以先安装Apache发行包。 
(1)安装Apache发行包。

sudo yum install -y httpd

(2)使用htpasswd创建加密文件

htpasswd -b -c -m /home/bxp/Documents/install/tengine-2.2.0/nginx/conf/userpasswd bxp 123456
-b 指定用户名和密码
-c:创建一个新的文件
-m:使用md5算法进行加密
/home/bxp/Documents/install/tengine-2.2.0/nginx/conf/userpasswd:创建的加密文件

 

Nginx解析php相关配置

  • 配置如下:
location ~ \.php$
    {
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/www/test02$fastcgi_script_name;
    }
  • fastcgi_pass 用来指定php-fpm监听的地址或者socket
  • fastcgi_index index.php #设定访问根目录默认去找的文件
  • fastcgi_param SCRIPT_FILENAME /data/www/test02$fastcgi_script_name #设置访问根目录时默认寻找的文件

fastcgi_param SCRIPT_FILENAME /data/www/test02/abc$fastcgi_script_name #访问根目录www.test02.com/
会去默认寻找abc中index.php文件,而此时去访问这个index.php文件是寻找不到的只能通过根目录去访问
www.test02.com/abc/index.php 返回404

  • 查看/usr/local/php-fpm/etc/php-fpm.conf
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock
;listen = 127.0.0.1:9000
listen.mode = 666
user = php-fpm
group =php-fpm
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值