1. nginx目录结构
执行tree命令就可以看到nginx的目录结构了,主要有4个,分别是配置目录conf,还有界面目录html,日志目录logs以及程序sbin/nginx。
2. nignx基本配置
nginx的主要配置文件为/usr/local/nginx/conf/nginx.conf,我们打开看下
里面有很多项,有很多空行,以及很多#注释掉的配置项,为了了解最小的配置,我们将空行和注释项都去掉,就得到了下面nginx的最小配置
具体如下:
worker_processes 1; # nginx子进程数量,建议和CPU内核数保持一致
events {
worker_connections 1024; # 每个worker进程可以创建多少连接
}
http {
include mime.types; # 引用其它配置文件,这里引用的是mime.types
default_type application/octet-stream; # 默认类型,数据流方式
sendfile on; # 数据零拷贝,无需将数据拷贝到nginx进程中,直接发送
keepalive_timeout 65; # 保持连接超时时间
server { # server表示一个主机,也称为虚拟主机(virtual host)
listen 80; # 监听的端口号
server_name localhost; # 域名,或者主机名
location / { # uri,域名后面的路径,资源定位符
root html; # 根路径(相对路径),这里和/usr/local/nginx/html目录一一对应
index index.html index.htm; # 默认页
}
error_page 500 502 503 504 /50x.html; # 指定出错后应该跳转到/50x.html
location = /50x.html {
root html; # 到根路径下html目录找到该错误界面
}
}
}
3. 简单例子,配置一个虚拟主机
3.1. 在/root目录下新建一个www目录,www目录下新建一个index.html,上面随便写点什么
3.2 修改nginx配置文件,新增一个虚拟主机配置
这里将监听端口改为88,根路径改为绝对路径/root/www,然后执行systemctl reload nginx重新加载nginx服务,访问http://192.168.66.129:88/,发现访问失败,查看日志/usr/local/nginx/logs/error.log,发现如下报错
为什么会没权限,因为nginx的worker进程是nobody权限的
既然没权限,那就给它权限,我们将root, www以及index.html全部设置为777权限(测试中可以这么搞,生产环境建议不要配置成777)后就可以正常访问了