nginx_01

1.安装

yum install epel-release -y  # 安装yum的扩展包
yum install nginx -y
systemctl start nginx.service  #启动nginx
systemctl enable nginx.service
# netstat -lntup # 查看端口占用情况
# 可以看到nginx默认占用了80端口    

 2.nginx配置

# 注意配置文件的语法格式,每行结尾必须是英文的分号。
worker_processes 1; #启动nginx时工作进程的数量,可以加大这个数字来提高nginx的处理请求的效率,但是这个数字也不能太大,因为进程是消耗系统内存资源的。调整一下这个数字,然后通过free指令可以查看一下内存容量的变化。建议和CPU核数一致就行
# worker_processes 2; # 改完配置文件都需要重启nginx才生效,systemctl restartnginx.service
events {
worker_connections 1024; #连接数量,每个进程可以处理1024连接
}
http {                            #http模块include       mime.types;     #include是包含的意思,这行的意思是,nginx启动的时候加载nginx.conf主配置文件的时候,加载到这一行的时候,先包含加载一下mime.types文件里面的配置,这个文件主要是用来标识支持哪些多媒体格式,这个文件在nginx.conf所在目录 default_type application/octet-stream;  
#如果不能识别的文件,那么默认以八进制数据流的方式来打开文件# sendfile       on;  # keepalive_timeout 65;charset utf-8;                          #设置字符集,默认没有,server {                          #一个网站,一个nginx可以运行多个网站,添加这个配置项即可listen       80;                    #监听端口,可以修改,比如改个81看看效果,再启动看看80效果server_name localhost;         #网站的域名,现在没有配置域名,默认就是localhost,比如后面可以配置www.wulaoban.toplocation / {                    #目录,必须要有个locationroot   html;                #root是站点根目录的意思,值为html表示一个相对路径,绝对路径是/usr/share/nginx/html,也可以改昂,比如改成绝对路径root /usr/share/nginx/html,或者改为其他路径root /web#root /web # 改为这个试一下,别忘了去根目录下创建一个web目录,给web目录一些文件看看效果index index.html index.htm;    #默认首页,访问网址根路径的时候,自动访问站点根目录下面的index或者index.html或者index.htm文件,如果没有这几个名字的文件呢?访问的时候就会提示403,需要在网址上手动指定文件名称,这几个文件名称也是可以改的,比如改为jaden.html。}}

//最小化配置文件,
grep -Ev '#|^$' nginx.conf.default > nginx.conf
nginx -t  //检测语法是否正确
systenctl restart nginx //重启生效

nginx进程

[root@web01 nginx]# ps -ef | grep nginx
root       1725      1  0 20:16 ?        00:00:00 nginx: master process 
/usr/sbin/nginx # master process是主进程的意思,也叫做管理进程,它是用来管理nginx整个运行的,nginx的其他子进程如果死掉了,它会自动在启动其他的子进程,比如尝试kill 下面的子进程,你会发现另外一个进程又自动启动了。真正干活的进程是下面的worker process进程,叫做工作进程,有请求来了都是它处理的
nginx      1727   1725  0 20:16 ?        00:00:00 nginx: worker process # 可以看到
nginx是以nginx用户身份启动的
root       1869   1552  0 20:35 pts/0    00:00:00 vim nginx.conf
root       1898   1872  0 20:35 pts/1    00:00:00 grep --color=auto nginx

3.多站点部署

1.多服务

server即服务,多写一个server即可。

worker_processes  2;
events {worker_connections  1024;
}
http {include       mime.types;default_type application/octet-stream;charset utf-8;# 8yy复制8行,小p黏贴server {
listen       80;
server_name localhost;
location / {
root   /html/one;
index index.html index.htm;
}}server {
listen       81;
server_name localhost;
location / {
root   /html/two;
index index.html index.htm;
}}server {
listen       82;
server_name localhost;
location / {
root   /html/three;
index index.html index.htm;
}}
}

2.多ip

在虚拟机上可以采用多块网卡达到效果

worker_processes  1;
events {worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;server {listen       192.168.2.110:80;server_name   localhost;location / {root   /root/wz;index  index.html index.htm;}}server {listen       192.168.2.111:80;server_name  localhost;location / {root   html;index  index.html index.htm;}}}

3.多域名

需要在本机 hosts文件设置一下域名。


worker_processes  1;
events {worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;server {listen     80;server_name   a.zsj.com;location / {root   /root/wz;index  index.html index.htm;}}server {listen      80;server_name b.zsj.com;location / {root   html;index  index.html index.htm;}}}#修改完配置文件之后,重启nginx

4.include

如果每来一个需求,我们就在nginx主配置文件中添加一个server记录,那么nginx配置文 件会变得很大,很难管理,所以要换一种方式来管理配置文件,将每个人的配置都单独拆分出来即可。

worker_processes  2;
events {worker_connections  1024;
}
http {include       mime.types;default_type application/octet-stream;charset utf-8;include /etc/nginx/conf.d/*.conf; 
# 加载外部以.conf结尾的配置文件,如果你的路径下没有conf.d就自行创建一个-- mkdir conf.d
}
//conf.d目录
[root@bogon nginx]# ls conf.d/
home.conf  yiliao.conf
[root@bogon nginx]# 

5.nginx日志

现在web服务器都必须要开启日志记录功能,而且记录必须超过半年,这是网络安全法规定的。

日志存放路径

/var/log/

nginx 日志路径/var/log/nginx

 1.access日志

cat /var/log/nginx/access.log 

2.erorr日志 

3.定义日志格式

# 定制日志记录格式:这个必须配置在在server配置外面昂
log_format compression '$remote_addr - $remote_user [$time_local] ''"$request" $status $bytes_sent ''"$http_referer" "$http_user_agent" "$gzip_ratio"';# compression可以理解为是这个格式的名字,谁想用这个格式,谁就用这个名字来指定格式
192.168.61.1 - - [12/Apr/2023:14:19:59 +0800] "GET / HTTP/1.1" 304 0 "-"
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) 
Chrome/111.0.0.0 Safari/537.36"
# $remote_addr 客户端的ip地址
# $remote_user 客户端的用户名
# $time_local 当前时间
# $request     请求起始行
# $status     http状态码
# $bytes_sent 响应资源的大小
# $http_referer 记录资源的跳转地址
# $http_user_agent 用户的终端信息
# $gzip_ratio     gzip的压缩级别                       
# 比如我们想让日志记录一下请求时间、客户端ip、请求uri、状态码、文件大小
# vim /etc/nginx/nginx.conf
#需要现在nginx.conf文件中配置 log格式,单独的log文件才能用

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/687917.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于VOLOPV2的自动驾驶环境感知系统

基于VOLOPV2的自动驾驶环境感知系统是一个复杂的系统,它主要负责实时检测并识别周围环境中的各种物体和信息,为自动驾驶车辆提供必要的感知数据。以下是对该系统的一个简要介绍: 环境感知是自动驾驶系统中的一个关键部分,它依赖于…

SwiftUI 调整视图内容周围间隙(Content Margins)的“时髦”方法

概述 在 SwiftUI 开发的应用中,往往在小屏设备(比如 iPhone)上布局良好的 App 放到大屏(iPad)上后就会“一塌糊涂”。因为它们一味的只想着“占据”却不知道“舍弃”。 从 iOS 17.0(iPad 17.0)开始苹果提供了原生的视图修改器方法专注于处理此事。 在本篇博文中,您将…

创建一个Spring Boot项目

文章目录 一、如何创建一个Spring Boot项目1.1 项目创建:专业版 or 社区版 or 网站创建1.2 数据配置1.3 项目启动1.4 代码编写 二、Spring Boot 项目文件介绍三、Web服务器四、根据HTTP状态码解决bug4.1 4044.2 500 五、Spring VS Spring Boot VS Spring Web MVC5.1…

Mapreduce | 案例

根据提供的数据文件【test.log】 数据文件格式:姓名,语文成绩,数学成绩,英语成绩 完成如下2个案例: (1)求每个学科的平均成绩 (2)将三门课程中任意一门不及格的学生过滤出来 (1)求每…

系统架构设计师 - 计算机组成与体系结构(1)

计算机组成与体系结构 计算机组成与体系结构计算机结构 ★CPU 组成结构运算器组成控制器组成 计算机体系结构冯诺依曼结构哈弗结构 嵌入式芯片(了解) 存储系统 ★★★★概述Cache主存编址磁盘管理磁盘基本结构与存取过程磁盘优化分布存储磁盘管理 大家好…

蓝桥杯成绩已出

蓝桥杯的成绩早就已经出来了,虽然没有十分惊艳 ,但是对于最终的结果我是心满意足的,感谢各位的陪伴,关于蓝桥杯的刷题笔记我已经坚持更新了49篇,但是现在即将会告别一段落,人生即将进入下一个规划。我们一起…

WebSocket基础知识

WebSocket是什么? WebSocket 是一种网络通信协议,它提供了全双工通信机制,允许服务器主动向客户端发送消息,而不仅限于响应客户端的请求。它使用类似于 HTTP 的握手来建立连接,然后使用单独的持久连接来进行通信。这种…

ansible——INVENTORY主机清单

一、Inventory主机清单 Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内 二、Inventory主机清单部署 2.1 前期准备 systemctl stop firewalld setenforce 0 yum install epel-release -y yum install…

nacos server安装部署傻瓜级教程

下载地址:GitHub - alibaba/nacos: an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.an easy-to-use dynamic service discovery, configuration and service management platfo…

淘宝电商商家ERP订单接口接入指南:对接ERP与淘宝系统的数据桥梁

最近几年,电商发展如火如荼,一方面互联网企业在推互联网 和O2O,同时很多传统企业也在积极互联网,通过各种电商平台拓展销售渠道,有些还同时建有自建的电商平台。这些电商平台通常下单,结算,促销…

stm32开发三、GPIO

部分引脚可容忍5V,容忍5V的意思是:可以在这个端口输入5V的电压,也认为是高电平 但是对于输出而言,最大就只能输出3.3V,因为供电就只有3.3V 具体哪些端口能容忍5V,可以参考一下STM32的引脚定义 不带FT的,就只…

显影不干净如何解决?

知识星球(星球名:芯片制造与封测社区,星球号:63559049)里的学员问:光刻工序完成后,晶圆表面有部分图形容易出现显影不净是什么原因?有什么好的解决办法吗? 光刻工序流程 …