安装nginx并进行配置(记录来源于马哥linux运维教程一)
Posted 健身小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装nginx并进行配置(记录来源于马哥linux运维教程一)相关的知识,希望对你有一定的参考价值。
1、上传nginx linux包
2、解压,tar xf xxxx
3、查看编译配置包、并进行配置 (./configure --help | less)
进行配置:
1、指明默认安装路劲
2、指明主配置文件路径
3、指明ngix用户
4、指明错误文件路劲
5、指明访问日志路劲
6、指明pid 路劲
7、锁文件路劲
8、启动相关模块 如nigix状态页面、gizp压缩、mp4、启动debug功能等等(使用./configure --help | less查看文档)
正在安装图片
这里包括了安装的各个配置文件的目录
完成后启动服务
contenos7 make && make install
启动nginx
检查配置
到sbin目录 nginx -t
启动 nginx -s start
查看nginx是否监听了80端口 ss -tnl
查看是否监听了nginx ss -tnlp
查看nginx进程状态发现 ps aux
(进程显示结果参考 https://blog.csdn.net/qq_38570571/article/details/82703621)
这里我已经运行了很多服务了多个工作进程,一个主进程 。
nginx特性:
epoil 、aio、remap、master/worker 、平滑升级 (nginx -s reload 这里会去重新监听端口)
主配置文件:nginx.conf
fastcgi配置文件 fastcgi_params
uwsgi_params
配置指令(必须以分号结尾)
Directive values1 [values2]
支持使用变量
内置变量:由模块引入
自定义变量:
set varlable value:
引用变量:$variable
配置文件的组织结构:
mian block //全局配置栈
event{ //(事件驱动模块配置,这是一个平行于main 和http的事件)
…
}
http{
…
}
在http中配置图如下:
http{}配置方式
http{
…
upstream{ //可以没有,这是做负载均衡用的
…
}
server{
listen PORT ssl; //虚拟主机可以基于端口,也可以是主机名,ip地址 加上ssl:代表 必须通过ssl提供服务
//虚拟主机模块,这是对于一个web服务器最基本的东西,nginx最少要有一个server,一个server中可进行直接映射
server_name NAME[…] //虚拟主机明,直接空格表示可以有多个 NAME 都映射,也可以~使用通配符或者正则表达式模式匹配。当一个人来访问的时候先精确匹配,没有的匹配时候先匹配左侧通配符,再右侧,然后配置正则,最后匹配defalut_server
tcp_nodefay on|off; //一般为off,避免较小资源合并请求,造成响应慢 对keepalive模式下连接是否启用tcp_nodefay选项
tcp_nopush on|off
//是否启用,仅在sendfile为on的时候启用 nginx尝试将http响应报文打包到同一个tcp报文发送,最好不要启用,默认为off
sendfile on|off
//直接在内核中封装为响应报文响应,可直接访问图片
root //相当于docmentroot ,设置web的资源路径的映射 alias //路径别名
location /url/{ //指明路径映射,某一个url映射的路径,映射机制不同于alias,可以有多个location
root //相当于docmentroot ,设置web的资源路径的映射,来源与上面location的 url起始路径
}
.......
}
default_server{ //基于IP地址或者使用了不能找到任意一个servername时候返回的站点,如果没有定义第一个虚拟主机就是默认主机;
.......
}
}
mian block配置:
类别:
正常运行的必须配置:
优化性能相关的配置:
用于调试、定位问题的配置:
正常运行的必须配置:
1、user USERNAME |GROUPNAME
指定用于运行worker进程的用户和组:
user nobody; //默认以nobody用户运行
2、 pid /PATH/TO/PID_FILE
可修改 例如 pid /vat/run/nignx.pid
3、worker_rlimit_nofile #; //指定每一个woker能打开的最大文件数量,文件句柄数目,单个进程相当可以显示1024个
4、woker_rlimit_sigpending #; //指定每个用户能够发送worker进程的最大信号数量
优化性能相关的配置:
1、worker_processer #;
//worker进程的个数;通常为物理cpu核心数量-1 原因:不使用进程或线程响应请求, nginx一个进程响应多请求,避免了进程切换的时间损失, 例如4核cpu有一个供应给系统,其他给nginx使用,(隔离cpu,并绑定到nginx)
目前 可设置为 worker_processer auto 自动启动已有的cpu数量
2、woker_cpu_affinity CPUMASK CPUMASK.....;
CPUMASK:
0001 CPU掩码
0010
0100
1000
绑定cpu例子(但是这个cpu依然可服务于其他进程服务):
woker_cpu_affinity 00000001 00000010 00000100
3、woker_priority nice; //使用ps axo comm.pid.nice 查看所用进程的优先级nginx默认为0
[-20,19]
用于调试、定位问题的配置:
1、daemon [off|on] //是否以守护进程方式启动nginx
2、master_process on | off //是否以master/woker模型启动nginx
3、error_log /PATH/TO/ERROT_LOG level; //错误文件日志级别;出现错误可定义为debug 仅仅在使用了 ‘’with-debug ‘’选项才生效
以上是关于安装nginx并进行配置(记录来源于马哥linux运维教程一)的主要内容,如果未能解决你的问题,请参考以下文章
安装nginx并进行配置(记录来源于马哥linux运维教程 三)
安装nginx并进行配置(记录来源于马哥linux运维教程客户端配置 四)