两种安装方式
01. yum安装软件
a 使用官方yum源进行安装 安装的是最新版本 软件目录结构比较标准 (推荐)
b 使用非官方yum源进行安装 安装的不是最新版 目录结构会发生变化
02. 编译安装软件
第一个步骤:
wget http://nginx.org/download/nginx-1.16.0.tar.gz
PS: 解决软件的依赖 openssl-devel pcre-devel
第二个步骤:
解压下载好的软件, 并进入到软件目录中
第三个步骤:
编译安装三步曲
a 进行配置操作
./configure --prefix= --user=USER
--prefix=PATH set installation prefix
指定程序安装路径
--user=USER set non-privileged user for worker processes
设置一个虚拟用户管理worker进程(安全)
--group=GROUP set non-privileged group for worker processes
设置一个虚拟用户组管理worker进程(安全)
b 进行软件的编译过程:
c 编译安装过程
make install
yum官方源安装方法:
第一个历程: 更新nginx官方yum源
[root@ web01 ~]# vim /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
第二个历程: yum安装nginx软件
[root@ web01 ~]# yum install -y nginx
第三个历程: 启动nginx服务,检查服务是否安装正确
[root@ web01 ~]# systemctl start nginx
[root@ web01 ~]# systemctl enable nginx
测试访问nginx服务
查看软件的目录结构
1、/etc/logrotate.d
实现nginx日志文件定时切割处理
日志切割方法一: 利用脚本实现切割
[root@ web01 ~]# vim/etc/logrotate.d
#!/bin/bash
mv /var/log/nginx/access.log /var/log/nginx/access_$(date +%F).log
[root@ web01 ~]# systemctl restart nginx
日志切割方法二: 利用专用文件切割程序–logrotate
[root@ web01 ~]# vim /etc/logrotate.conf
# rotate log files weekly
weekly --- 定义默认日志切割的周期
# keep 4 weeks worth of backlogs
rotate 4 --- 定义只保留几个切割后的文件
# create new (empty) log files after rotating old ones
create --- 创建出一个相同的源文件
# use date as a suffix of the rotated file
dateext --- 定义角标(扩展名称信息)
# uncomment this if you want your log files compressed
#compress --- 是否对切割后的文件进行压缩处理
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d --- 加载包含/etc/logrotate.d/目录中文件配置
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp { --- 单独对某个文件进行切割配置
monthly
create 0664 root utmp
minsize 1M --- 最小大小为1M,小于1M不进行切割
rotate 1
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
**
nginx服务配置文件
**
[root@ web01 ~]# cat/etc/nginx/nginx.conf --- 主配置文件
第一个部分: 配置文件主区域配置
user www; — 定义worker进程管理的用户
补充: nginx的进程(一般nginx会开启两个进程,若想停止运行,必须要杀停主进程)
master process: 主进程 —管理服务是否能够正常运行
worker process: 工作进程 —处理用户的访问请求
worker_processes 2; —定义有几个worker进程 == CPU核数 / 核数的2倍
error_log /var/log/nginx/error.log warn; — 定义错误日志路径信息
pid /var/run/nginx.pid; — 定义pid文件路径信息
第二个部分: 配置文件事件区域
events {
worker_connections 1024; — 一个worker进程可以同时接收1024访问请求
}
第三个部分: 配置http区域
http {
include /etc/nginx/mime.types; --- 加载一个配置文件
default_type application/octet-stream; --- 指定默认识别文件类型
log_format oldboy '$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 oldboy;
--- 指定日志路径
keepalive_timeout 65; --- 超时时间
#gzip on;
include /etc/nginx/conf.d/*.conf; --- 加载一个配置文件
}
/etc/nginx/nginx.d/default --- 扩展配置(虚拟主机配置文件)
第四个部分: server区域信息(配置一个网站 www/bbs/blog – 一个虚拟主机)
server {
listen 8080; --- 指定监听的端口
server_name www.xxx.com; --- 指定网站域名
root /usr/share/nginx/html; --- 定义站点目录的位置
index index.html index.htm; --- 定义首页文件
error_page 500 502 503 504 /50x.html; --- 优雅显示页面信息
location = /50x.html {
root /usr/share/nginx/html;
}
}