一、概述
server
模块是http
的子模块,它用来定一个虚拟主机,一个server
模块主要包含一下配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
server { # 监听的端口 listen 8080; # 用户访问的域名,请求的Host字段 server_name localhost 192.168.87.131; # 主目录地址 root /home/wwwroot; # 默认的首页形式 index index.php index.html index.htm; # 字符编码 charset utf-8; # 用户的访问日志,main表示日志的格式 # 目录需要提前创建好 access_log logs/host.access.log main; # 错误日志,error为日志格式 # 目录需要提前创建好 error_log logs/host.error.log error; .... } |
这个配置的意思是当有用户在浏览器中输入192.168.87.131:8080
访问主机的8080
端口时,服务器将会返回/home/www/
目录下的index.php
或index.html
或 index.htm
给客户端,同时记录访问日志到logs/host.access.log
中,记录错误日志到logs/host.error.log
中。
二、配置
假设当前主机的地址为192.168.87.131
,我希望当用户通过8099
端口访问主机的时候 ,返回/data/www/index.html
:
1 2 3 4 5 6 7 8 9 |
server { listen 8099; # 端口号 server_name 192.168.87.131; # 服务名,即用户输入在浏览器中的地址 root /data/www; index index.html; charset utf-8; access_log logs/demo.access.log main; error_log logs/demo.error.log error; } |
在conf/nginx.conf
中的http
模块内添加以上配置,然后制作一个html
页面 放置到/data/www
目录中。
nginx默认自带一个首页在安装目录下的
html/index.html
文件中,复制一份到/data/www/
并修改
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Nginx Demo1</h1> <!---- 修改本行 ------> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="https://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="https://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html> |
1 2 |
# 重新载入配置 service nginx reload |
此时在浏览器中输入192.168.87.131:8099
就能访问到我们的页面了(如果开启了防火墙的话需要提前设置允许访问该端口)。
三、日志
当前配置设置了两个日志信息,一个是访问日志,一个是错误日志。
访问日志信息中保存了所有的访问信息,包括ip
User-Agent
等等,都被记录了下来:
1 2 3 |
[root@localhost nginx]# vi logs/demo.access.log 192.168.87.1 - - [25/Sep/2017:01:43:51 +0800] "GET / HTTP/1.1" 200 606 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36" "-" 192.168.87.1 - - [25/Sep/2017:01:43:51 +0800] "GET /favicon.ico HTTP/1.1" 404 571 "https://192.168.87.131:8099/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36" "-" |
错误日志日志中保存了访问过程中出现的错误,这里面有一条错误信息是说favicon.ico
文件未找到:
1 2 |
[root@localhost nginx]# vi logs/demo.error.log 2017/09/25 01:43:51 [error] 13504#0: *104 open() "/data/www/favicon.ico" failed (2: No such file or directory), client: 192.168.87.1, server: 192.168.87.131, request: "GET /favicon.ico HTTP/1.1", host: "192.168.87.131:8099", referrer: "https://192.168.87.131:8099/" |
由于我们没有图标文件,所以读取图标失败,导致报错。favicon.ico
是网页的图标,放在网页文件的当前目录下,每次请求浏览器都会默认去获取
评论