nginx搭建静态页面网站

网站服务主机配置文件 server配置信息
为了方便看到的默认信息,先进行过滤注释和空行

 grep -Ev "#|^$" default.conf.bak >default.conf

/etc/nginx/conf.d/default.conf

  server {
        listen       80;                        	--- 定义网站服务监听端口信息
        server name  localhost;                     --- 定义网站url域名信息  www.oldboy.com 
        root   /usr/share/nginx/html;               --- 定义站点目录路径信息
        index  index.html index.htm;                --- 定义默认首页文件信息
        error_page  404 500 502 503 504  /50x.html;    --- 网站错误页面优雅显示
    }	

配置文件配置规范:
1. 响应区域模块花括号信息必须成对出现
2. 文件指定指令信息后面必须有分号结尾 (分号是英文)
3. 指令信息必须是合法指令

静态网站搭建过程说明 访问原理
1) 搭建单一静态网站
第一个历程:编写主机配置文件
cd /etc/nginx/conf.d
vim www.conf

server {
   listen       80;
   server_name  www.oldboy.com;
   root         /html/www;
   index        index.html index.htm;  
}

第二个历程:创建出站点目录

mkdir -p /html/www

第三个历程:获取代码信息
index.html

<html>
		<meta charset="utf-8">
		<head>
		<title>老男孩会所</title>
		</head>
		<body>
		老男孩高级会所69<table border=1>
		<tr> <td>01</td> <td>小兰</td> </tr>
		<tr> <td>02</td> <td>小红</td> </tr>
        <tr> <td>03</td> <td>小绿</td> </tr>
        </table>
		<a href="http://blog.oldboyedu.com">
		<img src="oldboy.jpg" />
		</a>
		</body>
		</html>

第四个历程:将nginx服务进行重启

systemctl restart nginx

PS:需要进行本地解析配置

2)搭建多个静态网站
第一个里程:编写配置文件:
vim www.conf (搭建单一网站时已经编写)

vim bbs.conf

server {
		   listen       80;
		   server_name  bbs.oldboy.com;
		   root         /html/bbs;
		   index        index.html index.htm;  
		}

vim blog.conf

server {
   listen       80;
   server_name  blog.oldboy.com;
   root         /html/blog;
   index        index.html index.htm;  
} 		

第二个历程:创建站点目录

mkdir -p /html/{www,bbs,blog}

第三个历程:获取网站代码信息

第四个历程:重启服务

systemctl  restart  nginx

网站页面访问方式:
1) 基于域名信息进行访问:
2) 基于端口信息进行访问:
不同网站配置不同监听端口:
www — listen 8080
bbs — listen 8081
blog — listen 80
3) 基于地址信息进行访问: 10.0.0.7
配置好相应主配置文件加载顺序
配置好监听地址信息
listen 172.16.1.7:80;

常见问题:访问域名信息和显示页面信息不符

网站访问原理:
第一步:将域名进行解析

www.oldboy.com     ---> 10.0.0.7
blog.oldboy.com    ---> 10.0.0.7

第二步:向10.0.0.7主机发送HTTP报文信息(数据包)

    数据包封装过程:           数据包解解封装过程:
	应用层: HTTP报文信息      应用层:HOST:www.oldboy.com  默认显示blog页面信息
	传输层: 端口信息          传输层:80端口(server blog符合)    8080端口
	网络层: 目标地址信息      网络层:进行解封装
	
    数据包封装过程:           数据包解解封装过程:
	应用层: HTTP报文信息      应用层:HOST:10.0.0.7  默认显示www网站页面信息
	传输层: 端口信息          传输层:80端口(server blog www bbs符合)    
	网络层: 目标地址信息      网络层:进行解封装	

第三步:将不同网站站点目录信息进行显示

网站安全防护配置说明
根据用户地址或网段信息进行隔离防护
第一个历程:编写配置文件
vim www.conf

   server {
      listen       172.16.1.7:80;
      server_name  www.oldboy.com;
      root         /html/www;
      index        index.html index.htm;
      location /sa {
         allow 10.0.0.0/24;
         deny all;
      }
   }
   ======================================================
   补充:ngx_http_access_module 模块指令配置:
   Syntax:	allow address | CIDR | unix: | all;    
   Default:	—
   Context:	http, server, location, limit_except

   Syntax:	deny address | CIDR | unix: | all;
   Default:	—
   Context:	http, server, location, limit_except
   
   配置参考样例:
   location / {
       deny  192.168.1.1;
       allow 192.168.1.0/24;
       allow 10.1.1.0/16;
       allow 2001:0db8::/32;
       deny  all;
   }
   参考资料:http://nginx.org/en/docs/http/ngx_http_access_module.html
   ======================================================

第二个历程:在站点目录下添加后台目录信息

cd /html/www 
mkdir sa
echo oldboy69 > sa/oldboy.html 

错误状态码:

403 Forbidden   在服务端配置安全阻止策略,阻止了响应地址主机访问

排错思路:
解决问题:
1. 网站服务不能正常运行
2. 网站页面不能正常访问
加载页面信息不全
加载页面显示错误状态码
3. 显示页面信息不正确

排查过程:

检查配置文件语法信息 nginx -t
a 确认指令信息后面有分号
b 确认文件中括号成对出现
c 确认指令输入和放置位置

确认配置文件信息是否正确

  listen        --- 监听信息  端口/地址(本地网卡上有的地址不能是网段信息,只能是具体IP地址)   == SSH
      server_name 	--- 域名信息
      root          --- 指定站点目录
                    相对路径指定:html/www    www.oldboy.com/sa/oldboy.jpg  --->  /etc/nginx/html/www/sa/oldboy.jpg 
                    绝对路径指定:/html/www   www.oldboy.com/sa/oldboy.jpg  --->  /html/www/sa/oldboy.jpg 		

确认网站代码信息是否正确

a 确认代码保存路径是否正确 /usr/share/nginx/html/www/代码信息 404 找不到页面信息
b 确认代码资源权限是否正确 目录是否加锁 数据权限不正确


      ============================================
      403状态码出现原因:
      1. 具有访问控制安全配置       deny
      2. 代码中文件本身权限不正确  
         客户端浏览器  HTTP请求(admin)  --->   将用户映射为worker进程用户(oldboy)web服务端  ---> 以虚拟用户身份到站点目录中获取数据信息      
      3. 站点目录中不能找到首页文件
      ============================================
      查看日志信息:
	  tail -f /var/log/nginx/error.log  --- 查看错误日志
   4. 确认网站解析是否正确:
      确认域名和IP是否真正建立解析过程
	  ping www.oldboy.com 
	  telnet www.oldboy.com 80
   5. 确认是否有缓存信息
      a 清楚浏览器缓存 
	  b 利用浏览器隐身模式
发布了170 篇原创文章 · 获赞 15 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_42506599/article/details/104304859
今日推荐