2018.3.13 12周2次课

十二周二次课(3月13日)

12.6 Nginx安装

12.7 默认虚拟主机

12.8 Nginx用户认证

12.9 Nginx域名重定向

12.6 Nginx安装

  • 下载和解压:

cd /usr/local/src

wget http://nginx.org/download/nginx-1.13.9.tar.gz

tar -zxvf nginx-1.13.9.tar.gz

  • 配置编译选项

cd nginx-1.13.9

./configure --prefix=/usr/local/nginx

  • 编译和安装

make &&  make install

  • 创建配置文件和启动脚本

vim /etc/init.d/nginx

chmod 755 /etc/init.d/nginx

chkconfig --add nginx

chkconfig nginx on

  • 更改配置文件

cd /usr/local/nginx/conf

mv nginx.conf nginx.conf.1 //不用系统自带的,我们自己建立以新的。也可以清空原来的配置文件,用命令:>/usr/local/nginx/conf/nginx.conf

vim nginx.conf

  • 启动

service nginx start

  • 测试

curl localhost

能访问到时因为在配置文件 nginx.conf里默认主机页里,设置了如下的设置

  • 测试php解析

我们在配置文件里也配置了解析php:

vi /usr/local/nginx/html/1.php //加入如下内容

<?php

echo "This is nginx test page.";

?>

12.7 默认虚拟主机

在nginx中也又默认虚拟主机,跟httpd类似,第一个被nginx加载的虚拟主机就是默认主机。但和httpd不相同的地方时,它还有一个配置用来标记默认虚拟主机。也就是说,如果没有这个标记,第一个虚拟主机为默认虚拟主机。

修改主配置文件:vim /usr/local/nginx/conf/nginx.conf //注释掉server。在结束符号 } 上面增加一行:include vhost/*.conf; 。

这样/usr/local/nginx/conf/vhost/下面所有以.conf结尾的文件都会加载。我们就可以包所有虚拟主机配置文件放到vhost目录下面

vhost目录在conf目录下,如果没有就创建一个,

vim aaa.com.conf //编辑虚拟主机aaa.com配置文件

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/ //创建default目录

echo “This is a default site.”>/data/wwwroot/default/index.html //定义index.html

/usr/local/nginx/sbin/nginx –t //检查语法错误

/usr/local/nginx/sbin/nginx -s reload //重新加载服务,好处是当配置文件里有错误时是不会生效的

12.8 Nginx用户认证

  • 访问网站时需要认证:

创建一个虚拟主机: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  / // 根:/ 指的就是全站

{

auth_basic              "Auth"; //定义用户认证的名字

auth_basic_user_file   /usr/local/nginx/conf/htpasswd; //用户名密码文件所在位置

}

}

要用到apache的htpasswd文件来创建用户名密码文件

/usr/local/apache2.4/bin/htpasswd -c /usr/local/nginx/conf/htpasswd aming

创建第二个:/usr/local/apache2.4/bin/htpasswd /usr/local/nginx/conf/htpasswd user1

-t && -s reload //测试配置并重新加载

测试:

curl -x127.0.0.1:80 test.com -I //状态码为401,说明访问的内容需要用户认证

curl -x127.0.0.1:80 -uaming:123456 test.com //状态码404,因为没有创建index.html

创建目录:mkdir /data/wwwroot/test.com

创建index.html:echo “test.com”>/data/wwwroot/test.com/index.html

  • 访问目录时需要认证:目录名admin

vim /usr/local/nginx/conf/vhost/test.com.conf //编辑test.com.conf

server

{

listen 80;

server_name test.com;

index index.html index.htm index.php;

root /data/wwwroot/test.com;

location  /admin/ //更改目录名字为admin

{

auth_basic              "Auth";

auth_basic_user_file   /usr/local/nginx/conf/htpasswd;

}

}

访问网站时,不需要指定用户名和密码

访问admin目录时,需要用户名和密码

创建admin目录:mkdir /data/wwwroot/test.com/admin

创建admin目录下的index.htm:echo “test.com admin dir”>/data/wwwroot/test.com/admin/index.html

  • 访问文件时需要认证:文件名admin,php

vim /usr/local/nginx/conf/vhost/test.com.conf //编辑test.com.conf

server

{

listen 80;

server_name test.com;

index index.html index.htm index.php;

root /data/wwwroot/test.com;

location  ~ admin.php //~:匹配,匹配admin.php

{

auth_basic              "Auth";

auth_basic_user_file   /usr/local/nginx/conf/htpasswd;

}

}

访问目录时,不需要指定用户名和密码

访问文件时,需要指定用户名和密码

12.9 Nginx域名重定向

Nginx的域名重定向和httpd的类似

更改配置文件:vim /usr/local/nginx/conf/vhost/test.com.conf

server

{

listen 80;

server_name test.com test1.com test2.com; // server_name后面支持写多个域名。httpd:ServerName后面只有1个域名,ServerAlias后面跟多个域名,

index index.html index.htm index.php;

root /data/wwwroot/test.com;

if ($host != 'test.com' ) {

rewrite  ^/(.*)$  http://test.com/$1  permanent; permanent为永久重定向,状态码为301,如果写redirect则为302

}

}

测试:

查看状态码:301,

重定向到(最后一行):

原文地址:http://blog.51cto.com/415326/2086111

时间: 2024-10-24 14:14:35

2018.3.13 12周2次课的相关文章

2018.4.13 16周3次课

十六周三次课 (4月13日) 19.7 主动模式和被动模式 19.8 添加监控主机 19.9 添加自定义模板 19.10 处理图形中的乱码 19.11 自动发现 19.7 主动模式和被动模式 主动或者被动是相对客户端来讲的 被动模式,服务端会主动连接客户端获取监控项目数据,客户端被动地接受连接,并把监控信息传递给服务端 主动模式,客户端会主动把监控数据汇报给服务端,服务端只负责接收即可. 当客户端数量非常多时,建议使用主动模式,这样可以降低服务端的压力. 服务端有公网ip,客户端只有内网ip,但

2018.4.23 17周4次课

十七周4次课(4月23日) 20.20 告警系统主脚本 20.21 告警系统配置文件 20.22 告警系统监控项目 20.20 告警系统主脚本 创建告警系统的目录: [[email protected] /usr/local/sbin]# mkdir mon [[email protected] /usr/local/sbin]# ls mon  nginx_log_rotate.sh [[email protected] /usr/local/sbin]# cd mon [[email pro

2018.1.9 5周2次课

五周第二次课(1月9日) 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装 7.6 yum更换国内源 1.恢复之前备份的文件 2. 进入"/etc/yum.repos.d"目录 3.删除"CentOS-Base.repo"文件 4.下载"163.repo"文件 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo curl -O http://mirrors

2018.1.16 6周2次课

六周第二次课(1月16日) 9.4/9.5 sed 9.4/9.5 sed 其实grep工具的功能还不够强大,它实现的只是查找功能,而不能把查找的内容替换.以前用vim操作文档的时候,可以查找也可以替换, 但只限于在文本内部操作,而不能输出到屏幕上.sed工具以及后面要介绍的awk工具就能把替换的文本输出到屏幕上,而且还有其他更丰富的功能.sed和awk都是流式编辑器,是针对文档的行来操作的. sed  '/x/'p filename:匹配x字符 sed  -n  '/x/'p  filenam

2018.3.1 10周2次课

十周第二次课(3月1日) 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机 11.14/11.15 Apache和PHP结合 配置httpd支持php httpd主配置文件/usr/local/apache2.4/conf/httpd.conf vim /usr/local/apache2.4/conf/httpd.conf   //修改以下4个地方 ServerName 搜索ServerName,把#ServerName www.example

2018.3.12 12周1次课

十二周一次课(3月12日) 12.1 LNMP架构介绍 12.2 MySQL安装 12.3/12.4 PHP安装 12.5 Nginx介绍 12.1 LNMP架构介绍 和LAMP唯一不同的是,LNMP中的N指的是Nginx(类似于Apache的一种web服务软件 ).目前这种环境的应用也非常多.Nginx设计的初衷是提供一种快速.高效.多并发的web服务软件.在静态页面的处理上, Nginx较Apache更胜一筹:但在动态页面的处理上,Nginx并不比Apache有优势.但是目前还是有很多爱好者

2018.4.13 三周第四次课

进入编辑模式 概念:在一般模式下不可以修改某个字符,如果要修改字符,只能进入编辑模式: 从一般模式进入编辑模式只需要按如下7个字母任意一个即可. 在进入编辑模式时,在屏幕的尾行会显示"INSERT或REPLACE"的字样(插入) 从编辑模式回到一般模式,只需要按"ESC"键即可. "编辑命令介绍: i 在当前字符前插入: I 在光标所在行的行首插入: a 在当前字符后插入: A在光标所在行的行尾插入 o 在当前行的下一行插入新一行 O 在当前行的上一行插入

2018.2.28 10周1次课

十周第一次课(2月28日) 11.10/11.11/11.12 安装PHP5 11.13 安装PHP7 11.10/11.11/11.12 安装PHP5 关于PHP版本,目前大多企业都会使用5.4及更高版本,甚至越来越多的企业使用PHP7版本.7和5两个版本还是有很大差异的,据说7版本有很大的性能提升,但7版本还是太新了,很多企业的网站不一定能兼容.新事物取代旧事物是必然趋势,所以在后续的学习和工作中,建议你要与时俱进,敢于尝试.在本实验中,使用的PHP版本为5.6,PHP的官方下载地址为 :

2018.1.24 7周3次课

七周三次课(1月24日) 10.11 Linux网络相关 10.12 firewalld和netfilter 10.13 netfilter5表5链介绍 10.14 iptables语法 10.11 Linux网络相关 用ifconfig命令查看网卡IP 前面曾用过ip addr这个命令来查看系统的IP地址.其实在centos 7之前,我们使用最多的命令是ifconfig,它类似于Windows的ipconfig命令,后面不加任何选项和参数时,只打印当前网卡的相关信息 (如子网掩码. 网关等).