nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。主进程用来获取配置和管理worker进程。worker进程处理http请求,worker进程的数目在nginx.conf 中定义,并且数目应该设置为和可用核数相等。
默认情况下, nginx 的配置文件可能保存在/etc/nginx, /usr/local/nginx/conf 或者/usr/local/etc/nginx 路径下。
开启,系统,和重新加载配置
通常使用nginx -s 选项来管理nginx,其中参数意义为:
nginx -s *signal*
- stop — fast shutdown
- quit — graceful shutdown
- reload — reloading the configuration file
- reopen — reopening the log files
也可以通过kill命令来给nginx 发送信号,达到同样的目的,假设nginx 的进程id为1628 ,那么也可以这样退出nginx。
kill -s QUIT 1628
配置文件结构
Nginx 由配置文件指定开启的模块组成,nginx 的配置目录由简单目录和段目录组成,简单目录下的配置文件中参数和参数名字用空格分隔,并且以逗号结尾。而段目录中的配置文件使用分号结尾,并且每段有大括号({ })分隔。每一段中可以包含子段,例如:events, http,server,location。没有包含在段落中的配置段将会被认为是全局生效的。
配置静态资源
一个简单的配置实例,对于一个web server, 提供两类静态资源服务,一个是静态的HTML服务,一个图片服务。
- 创建两个目录 /data/www 放置html文件,目录/data/images 放置图片文件。
- 修改配置文件,通过location来区别两种类型的请求,使其去到不同的存储路径。
server {
location / {
proxy_pass http://localhost:8080;
}
location /images/ {
root /data;
}
}
也可以修改成如下形式,图片文件去到图片路径 :
location ~ \.(gif|jpg|png)$ {
root /data/images;
}