nginx配置说明及虚拟主机站点的配置
1.nginx目录说明:
/application/nginx
├── client_body_temp
├── conf #这是nginx所有的配置文件的目录,极其重要
│ ├── fastcgi.conf #fastcgi配置文件
│ ├── fastcgi.conf.default
│ ├── fastcgi_params #fastcgi的参数文件
│ ├── fastcgi_params.default
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types
│ ├── mime.types.default
│ ├── nginx.conf #nginx默认的主配置文件
│ ├── nginx.conf.default
│ ├── scgi_params
│ ├── scgi_params.default
│ ├── uwsgi_params
│ ├── uwsgi_params.default
│ └── win-utf
├── fastcgi_temp #临时目录
├── html #这是编译安装是nginx的默认站点目录,类似apache的htdocs目录。
│ ├── 50x.html #错误页面优雅显示文件,例如出现502错误调用此页面
│ ├── index.html #默认首页文件,实际环境中,大家习惯用index.html、index.php、index.php。
├── logs #这是nginx默认的日志目录
│ ├── access.log #访问日志
│ ├── error.log #错误日志
│ └── nginx.pid #nginx.pid文件,nginx进程启动后,会把所有进程ID号写到此文件。
├── proxy_temp
├── sbin #ningx命令目录。
│ └── nginx #nginx命令nginx
├── scgi_temp #临时目录
└── uwsgi_temp #临时目录
2.nginx配置文件详解。
#备份与配置文件相同
[root@backup conf]# diff nginx.conf nginx.conf.default
#取消注释
[root@backup conf]# egrep -v "#|^$" nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
[root@backup conf]# egrep -v "#|^$" nginx.conf.default >nginx.conf
4.配置nginx虚拟主机实践。
4.1先更改主配置文件相关配置。
[root@backup conf]# cat nginx.conf
worker_processes 8;
user nginx nginx;
events {
use epoll;
worker_connections 20480;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org etiantian.org;
location / {
root html;
index index.html index.htm;
}
}
}
[root@backup conf]# ../sbin/nginx -t
nginx: the configuration file /application/nginx-1.6.3//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3//conf/nginx.conf test is successful
4.2开始配置基于域名的虚拟主机。
4.2.1创建站点目录
[root@backup ~]# mkdir /data0/www/{www,bbs,blog} -p
[root@backup ~]# for n in www blog bbs;do echo "$n" >/data0/www/$n/index.html;done
[root@backup ~]# tree /data0/www/
/data0/www/
├── bbs
│ └── index.html
├── blog
│ └── index.html
└── www
└── index.html
授权、创建日志目录
[root@backup ~]# chown -R nginx.nginx /data0/www
[root@backup ~]# mkdir /app/logs -p
4.2.2修改配置文件。
[root@backup ~]# echo www >/data0/www/www/index.html
(修改了站点目录)
[root@backup ~]# cat /application/nginx/conf/nginx.conf
worker_processes 8;
user nginx nginx;
events {
use epoll;
worker_connections 20480;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org etiantian.org;
location / {
root /data0/www/www;
index index.html index.htm;
}
}
}
#重启nginx。
[root@backup ~]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.6.3//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3//conf/nginx.conf test is successful
[root@backup ~]# /application/nginx/sbin/nginx -s reload
[root@backup ~]# netstat -lntup|grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 14664/nginx
[root@backup ~]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 14664 root 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22139 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22140 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22141 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22142 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22143 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22144 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22145 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22146 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
[root@backup ~]# ps -ef|grep nginx
root 14664 1 0 13:46 ? 00:00:00 nginx: master process /application/nginx/sbin/nginx
nginx 22139 14664 0 14:49 ? 00:00:00 nginx: worker process
nginx 22140 14664 0 14:49 ? 00:00:00 nginx: worker process
nginx 22141 14664 0 14:49 ? 00:00:00 nginx: worker process
nginx 22142 14664 0 14:49 ? 00:00:00 nginx: worker process
nginx 22143 14664 0 14:49 ? 00:00:00 nginx: worker process
nginx 22144 14664 0 14:49 ? 00:00:00 nginx: worker process
nginx 22145 14664 0 14:49 ? 00:00:00 nginx: worker process
nginx 22146 14664 0 14:49 ? 00:00:00 nginx: worker process
root 22151 4544 0 14:49 pts/0 00:00:00 grep nginx
4.3 测试
编辑WINDOWS 7 的hosts配置。C:\Windows\System32\drivers\etc\hosts
192.168.0.251 www.etiantian.org blog.etiantian.org bbs.etiantian.org etiantian.org
在浏览器端进行检查http://www.etiantian.org/。
www <--测试OK
4.4新增bbs和blog站点。
修改配置文件,如下:
[root@backup ~]# cat /data0/www/blog/index.html
blog
[root@backup ~]# cat /application/nginx/conf/nginx.conf
worker_processes 8;
user nginx nginx;
events {
use epoll;
worker_connections 20480;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org etiantian.org;
location / {
root /data0/www/www;
index index.html index.htm;
}
}
###BBS
server {
listen 80;
server_name bbs.etiantian.org;
location / {
root /data0/www/bbs;
index index.html index.htm;
}
}
###BLOG
server {
listen 80;
server_name blog.etiantian.org;
location / {
root /data0/www/blog;
index index.html index.htm;
}
}
}
#新增首页文件
[root@backup ~]# for n in bbs blog;do echo "$n" > /data0/www/$n/index.html;done
#重启nginx服务
[root@backup ~]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.6.3//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3//conf/nginx.conf test is successful
[root@backup ~]# /application/nginx/sbin/nginx -s reload
[root@backup ~]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 14664 root 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22174 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22175 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22176 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22177 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22178 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22179 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22180 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22181 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
#测试
地址:http://bbs.etiantian.org/
结果:bbs
地址:http://blog.etiantian.org/
结果:blog
5.配置nginx日志
(修改配置文件,添加日志相关配置。)
[root@backup ~]# cat /application/nginx/conf/nginx.conf
worker_processes 8;
user nginx nginx;
error_log /app/logs/nginx_error.log crit;
events {
use epoll;
worker_connections 20480;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
log_format commonlog '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
keepalive_timeout 65;
###WWW
server {
listen 80;
server_name www.etiantian.org etiantian.org;
location / {
root /data0/www/www;
index index.html index.htm;
access_log /app/logs/www_access.log commonlog;
}
}
###BBS
server {
listen 80;
server_name bbs.etiantian.org;
location / {
root /data0/www/bbs;
index index.html index.htm;
access_log /app/logs/bbs_access.log commonlog;
}
}
###BLOG
server {
listen 80;
server_name blog.etiantian.org;
location / {
root /data0/www/blog;
index index.html index.htm;
access_log /app/logs/blog_access.log commonlog;
}
}
}
#重启服务器,查看相关日志文件。
[root@backup ~]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.6.3//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3//conf/nginx.conf test is successful
[root@backup ~]# /application/nginx/sbin/nginx -s reload
[root@backup ~]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 14664 root 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22236 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22237 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22238 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22239 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22240 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22241 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22242 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22243 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
[root@backup ~]# ll /app/logs/
使用浏览器访问三个虚拟主机站点,bbs,blog,www站点。
查看日志目录/app/logs
[root@backup ~]# ll /app/logs/
total 12
-rw-r--r-- 1 root root 329 Feb 15 15:16 bbs_access.log
-rw-r--r-- 1 root root 329 Feb 15 15:16 blog_access.log
-rw-r--r-- 1 root root 0 Feb 15 15:14 nginx_error.log
-rw-r--r-- 1 root root 329 Feb 15 15:16 www_access.log
[root@backup ~]# tail /app/logs/bbs_access.log
192.168.0.104 - - [15/Feb/2018:15:16:48 +0800] "GET / HTTP/1.1" 200 4 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"
192.168.0.104 - - [15/Feb/2018:15:16:48 +0800] "GET /favicon.ico HTTP/1.1" 404 168 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"
[root@backup ~]# tail /app/logs/blog_access.log
192.168.0.104 - - [15/Feb/2018:15:16:50 +0800] "GET / HTTP/1.1" 200 5 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"
192.168.0.104 - - [15/Feb/2018:15:16:50 +0800] "GET /favicon.ico HTTP/1.1" 404 168 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"
[root@backup ~]# tail /app/logs/www_access.log
192.168.0.104 - - [15/Feb/2018:15:16:54 +0800] "GET / HTTP/1.1" 200 4 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"
192.168.0.104 - - [15/Feb/2018:15:16:54 +0800] "GET /favicon.ico HTTP/1.1" 404 168 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"
192.168.0.104 - - [15/Feb/2018:15:17:11 +0800] "GET / HTTP/1.1" 200 4 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"
[root@backup ~]# tail /app/logs/nginx_error.log
6.虚拟主机配置与主配置文件nginx.conf分开存放。
[root@backup ~]# cp /application/nginx/conf/nginx.conf /application/nginx/conf/extra/nginx-vhosts.conf
(具体配置见补充)
[root@backup ~]# vi /application/nginx/conf/nginx.conf
[root@backup ~]# vi /application/nginx/conf/extra/nginx-vhosts.conf
[root@backup ~]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.6.3//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3//conf/nginx.conf test is successful
[root@backup ~]# /application/nginx/sbin/nginx -s reload
[root@backup ~]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 14664 root 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22264 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22265 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22266 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22267 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22268 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22269 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22270 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22271 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
补充:
主配置文件/application/nginx/conf/nginx.conf的配置为:
[root@backup ~]# cat /application/nginx/conf/nginx.conf
worker_processes 8;
user nginx nginx;
error_log /app/logs/nginx_error.log crit;
events {
use epoll;
worker_connections 20480;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
log_format commonlog '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
keepalive_timeout 65;
include extra/nginx-vhosts.conf;
}
虚拟主机application/nginx/conf/extra/nginx-vhosts.conf的配置为:
[root@backup ~]# cat /application/nginx/conf/extra/nginx-vhosts.conf
###WWW
server {
listen 80;
server_name www.etiantian.org etiantian.org;
location / {
root /data0/www/www;
index index.html index.htm;
access_log /app/logs/www_access.log commonlog;
}
}
###BBS
server {
listen 80;
server_name bbs.etiantian.org;
location / {
root /data0/www/bbs;
index index.html index.htm;
access_log /app/logs/bbs_access.log commonlog;
}
}
###BLOG
server {
listen 80;
server_name blog.etiantian.org;
location / {
root /data0/www/blog;
index index.html index.htm;
access_log /app/logs/blog_access.log commonlog;
}
}
1.nginx目录说明:
/application/nginx
├── client_body_temp
├── conf #这是nginx所有的配置文件的目录,极其重要
│ ├── fastcgi.conf #fastcgi配置文件
│ ├── fastcgi.conf.default
│ ├── fastcgi_params #fastcgi的参数文件
│ ├── fastcgi_params.default
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types
│ ├── mime.types.default
│ ├── nginx.conf #nginx默认的主配置文件
│ ├── nginx.conf.default
│ ├── scgi_params
│ ├── scgi_params.default
│ ├── uwsgi_params
│ ├── uwsgi_params.default
│ └── win-utf
├── fastcgi_temp #临时目录
├── html #这是编译安装是nginx的默认站点目录,类似apache的htdocs目录。
│ ├── 50x.html #错误页面优雅显示文件,例如出现502错误调用此页面
│ ├── index.html #默认首页文件,实际环境中,大家习惯用index.html、index.php、index.php。
├── logs #这是nginx默认的日志目录
│ ├── access.log #访问日志
│ ├── error.log #错误日志
│ └── nginx.pid #nginx.pid文件,nginx进程启动后,会把所有进程ID号写到此文件。
├── proxy_temp
├── sbin #ningx命令目录。
│ └── nginx #nginx命令nginx
├── scgi_temp #临时目录
└── uwsgi_temp #临时目录
2.nginx配置文件详解。
#备份与配置文件相同
[root@backup conf]# diff nginx.conf nginx.conf.default
#取消注释
[root@backup conf]# egrep -v "#|^$" nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
[root@backup conf]# egrep -v "#|^$" nginx.conf.default >nginx.conf
4.配置nginx虚拟主机实践。
4.1先更改主配置文件相关配置。
[root@backup conf]# cat nginx.conf
worker_processes 8;
user nginx nginx;
events {
use epoll;
worker_connections 20480;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org etiantian.org;
location / {
root html;
index index.html index.htm;
}
}
}
[root@backup conf]# ../sbin/nginx -t
nginx: the configuration file /application/nginx-1.6.3//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3//conf/nginx.conf test is successful
4.2开始配置基于域名的虚拟主机。
4.2.1创建站点目录
[root@backup ~]# mkdir /data0/www/{www,bbs,blog} -p
[root@backup ~]# for n in www blog bbs;do echo "$n" >/data0/www/$n/index.html;done
[root@backup ~]# tree /data0/www/
/data0/www/
├── bbs
│ └── index.html
├── blog
│ └── index.html
└── www
└── index.html
授权、创建日志目录
[root@backup ~]# chown -R nginx.nginx /data0/www
[root@backup ~]# mkdir /app/logs -p
4.2.2修改配置文件。
[root@backup ~]# echo www >/data0/www/www/index.html
(修改了站点目录)
[root@backup ~]# cat /application/nginx/conf/nginx.conf
worker_processes 8;
user nginx nginx;
events {
use epoll;
worker_connections 20480;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org etiantian.org;
location / {
root /data0/www/www;
index index.html index.htm;
}
}
}
#重启nginx。
[root@backup ~]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.6.3//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3//conf/nginx.conf test is successful
[root@backup ~]# /application/nginx/sbin/nginx -s reload
[root@backup ~]# netstat -lntup|grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 14664/nginx
[root@backup ~]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 14664 root 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22139 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22140 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22141 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22142 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22143 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22144 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22145 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22146 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
[root@backup ~]# ps -ef|grep nginx
root 14664 1 0 13:46 ? 00:00:00 nginx: master process /application/nginx/sbin/nginx
nginx 22139 14664 0 14:49 ? 00:00:00 nginx: worker process
nginx 22140 14664 0 14:49 ? 00:00:00 nginx: worker process
nginx 22141 14664 0 14:49 ? 00:00:00 nginx: worker process
nginx 22142 14664 0 14:49 ? 00:00:00 nginx: worker process
nginx 22143 14664 0 14:49 ? 00:00:00 nginx: worker process
nginx 22144 14664 0 14:49 ? 00:00:00 nginx: worker process
nginx 22145 14664 0 14:49 ? 00:00:00 nginx: worker process
nginx 22146 14664 0 14:49 ? 00:00:00 nginx: worker process
root 22151 4544 0 14:49 pts/0 00:00:00 grep nginx
4.3 测试
编辑WINDOWS 7 的hosts配置。C:\Windows\System32\drivers\etc\hosts
192.168.0.251 www.etiantian.org blog.etiantian.org bbs.etiantian.org etiantian.org
在浏览器端进行检查http://www.etiantian.org/。
www <--测试OK
4.4新增bbs和blog站点。
修改配置文件,如下:
[root@backup ~]# cat /data0/www/blog/index.html
blog
[root@backup ~]# cat /application/nginx/conf/nginx.conf
worker_processes 8;
user nginx nginx;
events {
use epoll;
worker_connections 20480;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org etiantian.org;
location / {
root /data0/www/www;
index index.html index.htm;
}
}
###BBS
server {
listen 80;
server_name bbs.etiantian.org;
location / {
root /data0/www/bbs;
index index.html index.htm;
}
}
###BLOG
server {
listen 80;
server_name blog.etiantian.org;
location / {
root /data0/www/blog;
index index.html index.htm;
}
}
}
#新增首页文件
[root@backup ~]# for n in bbs blog;do echo "$n" > /data0/www/$n/index.html;done
#重启nginx服务
[root@backup ~]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.6.3//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3//conf/nginx.conf test is successful
[root@backup ~]# /application/nginx/sbin/nginx -s reload
[root@backup ~]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 14664 root 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22174 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22175 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22176 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22177 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22178 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22179 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22180 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22181 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
#测试
地址:http://bbs.etiantian.org/
结果:bbs
地址:http://blog.etiantian.org/
结果:blog
5.配置nginx日志
(修改配置文件,添加日志相关配置。)
[root@backup ~]# cat /application/nginx/conf/nginx.conf
worker_processes 8;
user nginx nginx;
error_log /app/logs/nginx_error.log crit;
events {
use epoll;
worker_connections 20480;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
log_format commonlog '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
keepalive_timeout 65;
###WWW
server {
listen 80;
server_name www.etiantian.org etiantian.org;
location / {
root /data0/www/www;
index index.html index.htm;
access_log /app/logs/www_access.log commonlog;
}
}
###BBS
server {
listen 80;
server_name bbs.etiantian.org;
location / {
root /data0/www/bbs;
index index.html index.htm;
access_log /app/logs/bbs_access.log commonlog;
}
}
###BLOG
server {
listen 80;
server_name blog.etiantian.org;
location / {
root /data0/www/blog;
index index.html index.htm;
access_log /app/logs/blog_access.log commonlog;
}
}
}
#重启服务器,查看相关日志文件。
[root@backup ~]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.6.3//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3//conf/nginx.conf test is successful
[root@backup ~]# /application/nginx/sbin/nginx -s reload
[root@backup ~]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 14664 root 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22236 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22237 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22238 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22239 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22240 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22241 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22242 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22243 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
[root@backup ~]# ll /app/logs/
使用浏览器访问三个虚拟主机站点,bbs,blog,www站点。
查看日志目录/app/logs
[root@backup ~]# ll /app/logs/
total 12
-rw-r--r-- 1 root root 329 Feb 15 15:16 bbs_access.log
-rw-r--r-- 1 root root 329 Feb 15 15:16 blog_access.log
-rw-r--r-- 1 root root 0 Feb 15 15:14 nginx_error.log
-rw-r--r-- 1 root root 329 Feb 15 15:16 www_access.log
[root@backup ~]# tail /app/logs/bbs_access.log
192.168.0.104 - - [15/Feb/2018:15:16:48 +0800] "GET / HTTP/1.1" 200 4 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"
192.168.0.104 - - [15/Feb/2018:15:16:48 +0800] "GET /favicon.ico HTTP/1.1" 404 168 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"
[root@backup ~]# tail /app/logs/blog_access.log
192.168.0.104 - - [15/Feb/2018:15:16:50 +0800] "GET / HTTP/1.1" 200 5 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"
192.168.0.104 - - [15/Feb/2018:15:16:50 +0800] "GET /favicon.ico HTTP/1.1" 404 168 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"
[root@backup ~]# tail /app/logs/www_access.log
192.168.0.104 - - [15/Feb/2018:15:16:54 +0800] "GET / HTTP/1.1" 200 4 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"
192.168.0.104 - - [15/Feb/2018:15:16:54 +0800] "GET /favicon.ico HTTP/1.1" 404 168 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"
192.168.0.104 - - [15/Feb/2018:15:17:11 +0800] "GET / HTTP/1.1" 200 4 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:59.0) Gecko/20100101 Firefox/59.0" "-"
[root@backup ~]# tail /app/logs/nginx_error.log
6.虚拟主机配置与主配置文件nginx.conf分开存放。
[root@backup ~]# cp /application/nginx/conf/nginx.conf /application/nginx/conf/extra/nginx-vhosts.conf
(具体配置见补充)
[root@backup ~]# vi /application/nginx/conf/nginx.conf
[root@backup ~]# vi /application/nginx/conf/extra/nginx-vhosts.conf
[root@backup ~]# /application/nginx/sbin/nginx -t
nginx: the configuration file /application/nginx-1.6.3//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.6.3//conf/nginx.conf test is successful
[root@backup ~]# /application/nginx/sbin/nginx -s reload
[root@backup ~]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 14664 root 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22264 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22265 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22266 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22267 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22268 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22269 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22270 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
nginx 22271 nginx 6u IPv4 35434 0t0 TCP *:http (LISTEN)
补充:
主配置文件/application/nginx/conf/nginx.conf的配置为:
[root@backup ~]# cat /application/nginx/conf/nginx.conf
worker_processes 8;
user nginx nginx;
error_log /app/logs/nginx_error.log crit;
events {
use epoll;
worker_connections 20480;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
log_format commonlog '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
keepalive_timeout 65;
include extra/nginx-vhosts.conf;
}
虚拟主机application/nginx/conf/extra/nginx-vhosts.conf的配置为:
[root@backup ~]# cat /application/nginx/conf/extra/nginx-vhosts.conf
###WWW
server {
listen 80;
server_name www.etiantian.org etiantian.org;
location / {
root /data0/www/www;
index index.html index.htm;
access_log /app/logs/www_access.log commonlog;
}
}
###BBS
server {
listen 80;
server_name bbs.etiantian.org;
location / {
root /data0/www/bbs;
index index.html index.htm;
access_log /app/logs/bbs_access.log commonlog;
}
}
###BLOG
server {
listen 80;
server_name blog.etiantian.org;
location / {
root /data0/www/blog;
index index.html index.htm;
access_log /app/logs/blog_access.log commonlog;
}
}