1.安装nginx
- 安装方式:
- 第一种: 基于官网仓库的安装方式,版本较新,配置易读
- 第二种: 使用默认的仓库安装,版本较低,配置不易读
- 第三种: 编译方式安装,需要其他功能模块的时候 自定义安装
- nginx -v查看nginx版本
第一种:
说明:去nginx官网找到nginx的yum仓库,在自己服务器增加一个nginx.repo的yum仓库
1.访问nginx官网-->右侧documentation-->Installing nginx-->packages
2.找到对应自己服务器系统型号的yum仓库配置代码
3.vim /etc/yum.repos.d/nginx.repo 创建一个仓库,粘贴到里面
4.然后yum安装nginx即可
第二种:
1.yum直接安装即可
第三种:
1.不会
2.nginx配置文件说明
- server区块可以在nginx.conf里配置,也可以在conf.d目录下.conf结尾的文件配置
- include /etc/nginx/conf.d/*.conf; # 将conf.d下的*.conf引入到当前的文件,
- 也就是conf.d里的所有.conf结尾的文件都包含在nginx.conf里
- 这么做能更清晰明白,一个server可以对应一个.conf配置文件
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 25532; ## 也叫文件句柄
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
server {
listen 80;
server_name www.oldboy.com;
location / {
root /code;
index index.html;
}
}
# 下方说明-------------------------------------------------------------------
# 核心区块
user nginx; # 运行nginx的用户 安装nginx自动创建此用户
worker_processes auto; # nginx启动进程数量 以核心为准
error_log /var/log/nginx/error.log notice; # 错误日志的位置
pid /var/run/nginx.pid; # nginx的pid号写入到此文件中
#事件模块
events {
worker_connections 25532; # 每个进程最大的连接数
}
# http区块 接收浏览器请求 并且响应浏览器请求
http {
include /etc/nginx/mime.types; # 网站支持的文件类型
default_type application/octet-stream; # 如果网站不支持的类型变为下载到本地
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; # 日志格式
access_log /var/log/nginx/access.log main; # 访问日志的位置
sendfile on; # 文件传输
#tcp_nopush on;
keepalive_timeout 65; # 长连接 65秒自动和浏览器断开
#gzip on; # 是否资源压缩
include /etc/nginx/conf.d/*.conf; # 将conf.d下的*.conf引入到当前的文件
}
# server区块,网站的配置。server区块是包含在http区块中。
server {
listen 80; # 监听的端口
server_name www.oldboy.com; # 自己购买的域名 hosts解析
location / { # 路径匹配 www.oldboy.com/
root /code; # 让用户去/code目录获取网站信息
index index.html; # 默认给浏览器返回的文件 index.html
}
}
3.nginx多种应用场景
- 多ip访问不同网站(不常用,知道即可)
- 多域名访问不同网站
- 多端口访问不同网站
1.多ip访问不同网站(不常用,知道即可)
假设服务器有两个ip
[root@web01 ~]# ip add add 10.0.0.8/24 dev ens33
server {
listen 10.0.0.7:80;
server_name _; ###表示不配置域名,不能省略
location / {
root /业务1;
index index.html;
}
}
server {
listen 10.0.0.8:80;
server_name _;
location / {
root /业务2;
index index.html;
}
}
-------------------------------------------------------------------
2.多域名访问不同网站
server {
listen 80;
server_name www.yewu1.com;
location / {
root /业务1;
index index.html;
}
}
server {
listen 80;
server_name www.yewu2.com;
location / {
root /业务2;
index index.html;
}
}
-------------------------------------------------------------------
3.多端口访问不同网站
说明:服务器上的所有ip地址都可以访问80和81,listen没有指定ip,监听端口可以看到
server {
listen 80;
server_name _;
location / {
root /业务1;
index index.html;
}
}
server {
listen 81;
server_name _;
location / {
root /业务2;
index index.html;
}
}
温馨提示1:nginx -t 检查配置文件语法
温馨提示2:多个server模块可以都在nginx配置文件配置,也可以在conf.d下创建多个文件配置