nginx配置文件
配置文件名称
nginx.conf
可以直接查找
shell
find / -type f -name "nginx.conf"
一般都在自己安装的目录下的
shell
nginx/conf
常用的nginx全局配置
user:指定nginx进程运行用户以及用户组 默认是nobody用户运行:
这里使用nginx运行

所以把nobody换成nginx
worker_processes:设置nginx工作进程数,一般来说cpu有几核,就设置位几核,这样可以充分利用cpu资源。
查看系统cpu资源
top 然后按1

如图cpu有四核
所以改为四
worker_processes 4;

worker_cpu_affinity:这个指令可以将nginx的一些指定的进程绑定到cup中,绑定了cpu的进程就会由该cpu处理
worker_cpu_affinity 0001 0010 0100 1000;
//每一个进程分别绑定每一个核

error_log:用来定义全局错误日志文件,日志输出级别由大到小:debug info notice(默认),crift 其中debug输出日志最详细
error_log logs/error.log notice;
pid:用来指定进程id的储存位置
我们在安装nginx的时候可以自己指定nginx.pid在哪里,可以用find去查找
sudo find / -type f -name "nginx.pid"
nginx/logs/nginx.pid
设置
pid logs/nginx.pid
worker_rlimit_nofile:用来指定每个进程能够打开的最多文件数量,在企业环境中一般655360
worker_rlimit_nofile 655360;

envents:设定nginx工作模式以及连接上限数
use 用来指定nginx的工作模式,有select poll kqueue epoll rtsig /dev/poll
use epoll;
events {
use epoll;
worker_connections 65536;
}

http服务常用配置

include 是个主模式指令,后面跟的文件名,主要是为了降低配置复杂度
include mime.types;
default_type: 属于http的核心指令;例如我们没有配置php环境,nginx是不解析的 我们点击这个php文件它不会解析而是会下载,如果我们配置了这个选项就会自动解析
log_format:用于指定nginx日志输出格式,main为日志名称 默认是注释的我们打开
sendfile :开启高效的文件传输模式
keepalive_timeout:设置客户端保持活动的获得超过时间,超过时间,服务器会关闭连接
httpzip
输出数据流,可以节省带宽
Server虚拟主机配置
server {
listen 80;
server_name localhost;
#charset koi8-r;
access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
server:定义虚拟主机开始的关键词
listen:监听哪个端口
index:用于设置访问发默认地址
location / {
root html;
index index.html index.htm;
}
error_page 错误位置 定向到错误页面
查看有没有错误
god@localhost:/app/tools/nginx/sbin$ sudo ./nginx -t
nginx: the configuration file /app/tools/nginx-1.28.0//conf/nginx.conf syntax is ok
nginx: configuration file /app/tools/nginx-1.28.0//conf/nginx.conf test is successful
启动和关闭
重启
kill -HUP pid(父进程)

location配置
基本语法
js
location [修饰符] 路径 {
# 配置内容
}
| 修饰符 | 匹配方式 | 优先级 | 示例 |
|---|---|---|---|
= |
精确匹配 | 最高 | location = /abc |
^~ |
前缀匹配(不做正则) | 高 | location ^~ /abc |
~ |
正则匹配(区分大小写) | 中 | location ~ \.php$ |
~* |
正则匹配(不区分大小写) | 中 | location ~* \.jpg$ |
| 无修饰符 | 前缀匹配(模糊) | 最低 | location /abc |
优先级
=
^~
~*
/abc/def
/abc
/

示例
# 区分大小写匹配
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
root /data/wwwroot/www.ixdba.net;
}
shell
改了配置文件后一定要进行重启nginx
ps -ef |grep nginx
然后
kill -HUP pid 重启进程
创建目录
sudo mkdir -p /data/wwwroot/www.ixdba.net
然后添加一些和你访问相关的东西
比如图片啊

只要再里面添加一些图片我们访问的时候就可以访问到了
如果有问题就可能是权限问题或者下面的问题
# 1. 改配置
vim /app/tools/nginx-1.28.0/conf/nginx.conf
# 2. 语法检查
sudo /app/tools/nginx/sbin/nginx -t -c /app/tools/nginx-1.28.0/conf/nginx.conf
# 3. 平滑加载
sudo /app/tools/nginx/sbin/nginx -s reload -c /app/tools/nginx-1.28.0/conf/nginx.conf

配置基本完成