看这个文章之前,要保证你的Nginx已经安装成功!

如果没有,请移步到下面这个文章,看完后再回来看!

https://www.cnblogs.com/apollo1616/p/10214531.html

1.前车之鉴,我们先去准备好两个域名分别对应的网页。

目录规划:本次实验静态文件总目录为apollo,下面设置两个文件夹,对应2个域名

www.python1616.com   --- python1616

www.linux1616.com      --- linux1616

2.启动Nginx服务

[root@localhost conf]# pkill nginx
[root@localhost conf]# /opt/nginx1616/sbin/nginx
[root@localhost conf]# /opt/nginx1616/sbin/nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()

3.Nginx配置文件设置

nginx.conf主配置文件学习
# nginx工作进程数,根据cpu的核数定义
worker_processes 4;
events {
# 连接数
worker_connections 1024;
}
# http区域块,定义nginx的核心web功能
http {
include(关键字) mime.types(可修改的值);
default_type application/octet-stream; # 定义日志格式
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 0;
# 保持长连接
keepalive_timeout 65; # 支持图片 gif等等压缩,减少网络带宽
gzip on; #这个server标签,控制着nginx的虚拟主机(web站点)
server {
# 定义nginx的入口端口是80端口
listen 80;
# 填写域名,没有域名就写IP地址
server_name www.python1616.com;
# 定义编码
charset utf-8;
# location定义网页的访问url
# 就代表用户的请求是192.168.13.79/
location / {
# root参数定义网页根目录
root /opt/apollo/python1616;;
# 定义网页首页文件的名字的
index index.html index.htm;
}
# 定义错误页面,客户端的错误,就会返回40x系列错误码
error_page 404 403 401 400 /404.html;
# 服务器错误,500系列错误代表后端代码出错
error_page 500 502 503 504 /50x.html;
}
#在另一个server{}的外面,写入新的虚拟主机2
server{
listen 80;
server_name www.linux1616.com;
location / {
# 定义虚拟主机的网页根目录
root /opt/apollo/linux1616;
index index.html;
}
}
}

4.修改windows本地的测试域名  C:\Windows\System32\drivers\etc\hosts文件
写入如下内容
192.168.13.79 www.python1616.com  
192.168.13.79 www.linux1616.com
因为我们没有www.python1616.com 也没有www.linux1616.com, 因此要在本地搞一个测试域名,
不想改dns的话,就去去买一个域名~~~~~~~~~~~~~~~~~~~~~~

5.然后在浏览器测试访问 两个不同的 web站点
www.python1616.com


www.linux1616.com

6.nginx的访问日志功能
6.1开启nginx.conf中的日志参数
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;
    
6.2检查access.log的日志信息
tail -f  access.log

7.nginx的拒绝访问功能
7.1在nginx.conf中,添加参数
在server{}虚拟主机标签中,找到location 然后添加参数
#当访问 192.168.13.79/ 的时候
location / {
    #拒绝参数是 deny
    #deny 写你想拒绝的IP地址
    #deny还支持拒绝一整个网站
    deny  192.168.13.33;
    root   /opt/apollo/python1616;
    index  index.html;
}

8.nginx的错误页面优化

error_page  404    /404.html;
# 写上这句话,然后去你项目根目录下面创建一个404.html就ok了

www.python1616.com输错的时候,成功跳转自己自定义的网页

为了见证结果再设置下www.linux1616.com出错时候的页面

8

最新文章

  1. 侯捷老师C++大系之C++面向对象开发:(一)不带指针的类:Complex复数类的实现过程
  2. ASP.NET MVC 4 Attribute特性
  3. ThinkPHP3.2.3 Nginx 下 URL_MODEL 的配置
  4. 【转】linux之tune2fs命令
  5. jsp 获取表单值, 提交类型为multipart/form-data处理
  6. Xilinx ISE14.7 安装教程(转)
  7. Windows Phone 学习教程(一)
  8. 自写AES加密解密工具类
  9. paul的cnblog,欢迎大家的光临
  10. php number_format()保留小数点后几位有效数的函数 千位分组来格式化数字(转)
  11. 5.Smart使用内置函数或者自定义函数
  12. 第四届河南省ACM SUBSTRING 字符串处理
  13. tiny4412 --Uboot移植(3) 时钟
  14. BPF+XDP比较全的资料都在这里
  15. PhoneGap学习地址 / PhoneGap API介绍:Events
  16. atom介绍
  17. iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
  18. kettle安装部署及远程执行
  19. 看libevent所遇到的英语生词
  20. VC++6.0中碰到Cannot access the ClassView information file.ClassView information will not be avaible.的解决方法

热门文章

  1. Android Gradle基础实践
  2. redis学习笔记——入门
  3. node - 关于package.json
  4. How to Configure an SSIS Package to Access a Web Service using WCF
  5. S4:装饰模式 Decorator
  6. shell 命令行语句
  7. KeePass 不能复制账号密码
  8. android应用中插入admob广告
  9. Python修改文件权限
  10. 深入探析 Rational AppScan Standard Edition 新特性之 Glass Box 扫描