linux学习24-nginx(一)初识

Nginx官网:nginx.org
系统环境:CengOS7.9
Nginx版本:1.22.1 稳定版

本次实验用yum安装nginx,先配yum源:
nginx官网yum源配置链接:https://nginx.org/en/linux_packages.html#RHEL

[root@web01 ~]# cat /etc/yum.repos.d/nginx.repo 
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[root@kodexp ~]# yum -y install nginx

安装后执行检查

[root@web01 ~]# rpm -qa nginx
nginx-1.22.1-1.el7.ngx.x86_64
[root@web01 ~]# rpm -ql nginx

这里把输出的详细文件略过了,太多了
需要注意的是,不同的安装方法,其目录结构、文件会有所不同。
简单介绍一下目录结构

nginx各种配的目录:/etc/nginx/
主配置文件:/etc/nginx/nginx.conf
自配置文件(网站):/etc/nginx/conf.d/
默认的自配置文件:/etc/nginx/conf.d/default.conf
ngx命令:/usr/sbin/nginx
ngx默认的站点目录,网站的根目录:/usr/share/nginx/html/
nginx日志:访问日志,错误日志 ,跳转日志:/var/log/nginx/
日志切割(防止文件过大):/etc/logrotate.d/nginx
媒体类型:/etc/nginx/mime.types
ngx+php:/etc/nginx/fastcgi_params
ngx+python:/etc/nginx/uwsgi_params
systemctl配置文件:/usr/lib/systemd/system/nginx.service
缓存目录:/var/cache/nginx/

日常启动与管理

[root@web01 ~]# systemctl enable nginxsystemd/system/nginx.service.
[root@web01 ~]# systemctl start nginx
[root@web01 ~]# systemctl status nginx
[root@web01 ~]# ss -lntup | grep 80
[root@web01 ~]# ps -ef | grep nginx

检查无误,都正常输出,则可以在浏览器中输入这个IP,可以看到nginx的欢迎页面,就代表正常了。

看一下主配置文件:/etc/nginx/nginx.conf

[root@web01 ~]# cat /etc/nginx/nginx.conf
核心core配置部分:指定nginx基本功能:用户、进程数量、pid文件、日志
user  nginx; # 指定nginx所属用户(虚拟用户)
worker_processes  auto; # 进程数量,处理用户请求的进程,当前数量是自动的
error_log  /var/log/nginx/error.log notice; # nginx错误日志及位置
pid        /var/run/nginx.pid; # pid文件
# events区域,每个进程处理连接数量io模型 use epool
events {
    worker_connections  1024;
}
# http区域,7层功能区域,网站配置,各种配置等等,基本都在这里
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"';
                      # 这里是指定nginx访问日志格式,格式叫做main
    access_log  /var/log/nginx/access.log  main; # 使用之指定的格式,记录访问日志
    sendfile        on; # 提高nginx性能
    #tcp_nopush     on;
    keepalive_timeout  65; # 提高nginx性能
    #gzip  on;
    include /etc/nginx/conf.d/*.conf; # 文件包含或引用功能,用于在nginx配置文件中调取其他文件,引用nginx子配置文件
}

看下默认子配置文件

[root@web01 ~]# egrep -v '^$|#' /etc/nginx/conf.d/default.conf
server {
    listen       80; # 监听的端口号
    server_name  localhost; # 网站域名
    location / { # 用于匹配用户请求的uri, location / 表示默认
        root   /usr/share/nginx/html; # 用于指定站点目录
        index  index.html index.htm; # 指定首页文件,只输入域名的时候默认展示的页面
    }
    error_page   500 502 503 504  /50x.html; # 这里是配置,指定出现500/502/503/504错误
    location = /50x.html {。                 #的时候显示/50X.html文件
        root   /usr/share/nginx/html;
    }
}


实验:部署一个网站
域名:cxk.sysjyh.cn
站点目录:/app/code/cxk
步骤:
1、创建代码存放目录
2、上传并解压代码
3、配置子配置文件
4、语法检查并重启服务
5、在客户端做域名解析
6、访问测试

[root@web01 ~]# mkdir -p /app/code/mgae/
[root@web01 ~]# unzip cxk.zip -d /app/code/cxk
[root@web01 ~]# cat /etc/nginx/conf.d/cxk.conf
server {
  listen 80;
  server_name cxk.sysjyh.cn;
  root /app/code/cxk;
  location / {
    index index.html;
  }
}
[root@web01 ~]# nginx -t # 做语法检查
[root@web01 ~]# systemctl reload nginx
mclinddeMacBook-Pro:~ root# cat /etc/hosts
...
192.168.1.17 cxk.sysjyh.cn


# 浏览器访问此域名,即可看到成功页面
各个系统修改解析的方式
#win: C:\Windows\System32\drivers\etc\hosts
#windows下面win键+r 输入drivers 访问etc下的hosts
#linux: /etc/hosts
#mac:/etc/hosts

这个自配置文件,主要就是里边的server内容,每个server就单独对应一个字节点,里边的监听端口和域名,可以相互不同,这样就可以在一台宿主机上部署多个节点子网站服务,形成了基于不同域名或者不同端口的虚拟主机。这些server配置,可以写在一个conf配置文件,也可以每个节点单独配置,建议不要写在一个文件,容易混乱。

需要注意的是,除了以上配置,还可以在server里添加限制内网才能访问,看如下配置

server {
 listen 172.16.1.7:8888;
 server_name mc.test.cn;
 root /app/code/mi;
 location / {
   index index.html;
 }
}

里边监听的是172.16.1.7:8888地址的8888端口,这个就代表只能连接172.16.1.7的这些主机才能访问。
测试:

[root@web01 ~]# curl -H Host:mc.test.cn http:Վˌ172.16.1.7:8888/ # 这里-H就是指定访问的域名

小结:
1、准备子配置文件
2、准备目录、代码、修改权限
3、访问测试(记得注意域名解析问题)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值