Appearance
2.1 基本介绍
Nginx是一个高性能的HTTP和反向代理web服务器。
2.1.1 Nginx的优点:
- 高并发、高性能
- 可扩展性好
- 高可靠性
- 热部署
- BSD许可证书
2.1.2 Nginx的组成:
- 二进制可执行文件
Nginx.conf配置文件(默认是目录:/etc/nginx/)access.log访问日志(默认是目录:/var/log/nginx/)error.log错误日志(默认是目录:/var/log/nginx/)html默认站点目录(默认是目录:/usr/share/nginx/html)
2.1.3 主要发行版本
Tengine是阿里巴巴基于Nginx开发的第三方模块,但与Nginx更新不同步。OpenResty是基于Nginx与Lua的高性能 Web 平台
2.1.4 安装
zsh
# 下载
wget http://nginx.org/download/nginx-1.23.0.tar.gz
# 解压
tar -zvxf nginx-1.23.0.tar.gz
# 安装依赖
yum -y install pcre-devel openssl openssl-devel
# 安装到usr目录下
cd nginx-1.23.0
./configure --prefix=/usr/nginx --with-http_stub_status_module --with-http_ssl_module
make install2.1.5 Nginx配置语法
- 配置文件由指令块、指令组成。
- 指令块由大括号组成,里面的内容是指令。
- 指令以分号结尾,指令与参数空格分隔。
include语句可以引入多个配置文件#注释$变量- 部分指令支持正则
- 时间配置参数:
ms毫秒、s秒、m分钟、h小时、d天、w周、M月、y年、 - 空间配置参数:
字节、k/Kkb、m/M兆、g/GG
2.1.6 Nginx命令行
start nginx运行nginxnginx+-?帮助nginx+-c使用指定的配置文件nginx+-g指定配置命令nginx+-p指定运行目录nginx+-t、-T测试配置文件是否有错误nginx+-v、-V打印Nginx的版本信息、编译信息等nginx+-s+stop/squti/reload/reopen立即停止服务、优雅的停止服务、重载配置文件、重新开始记录日志文件ps -ef |grep nginx"查看nginx进程
2.1.7 安全协议
使用
Let's Encrypt配置证书yum install python2-certbot-nginx安装配置工具certbot --nginx --nginx-server-root=/usr/local/openresty/nginx/conf/ -d+www.jaqi.com给指定域名生成证书,并放置/usr/local/openresty/nginx/conf/目录下部署阿里云ssl证书
zsh
server {
listen 443 ssl;
server_name localhost;
ssl_certificate ./ssl/ssl.pem; # 证书的目录
ssl_certificate_key ./ssl/ssl.key; # 证书的目录
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}- GoAccess工具:可视化实时查看access日志
- 安装依赖
zsh
# 依赖
yum -y install glib2 glib2-devel GeoIP-devel ncurses-devel zlib zlib-devel gcc
yum -y install GeoIP-update #安装GeoIP-update地理位置数据库- 安装主包
zsh
# 依赖
wget https://tar.goaccess.io/goaccess-1.3.tar.gz
tar -xzvf goaccess-1.3.tar.gz
cd goaccess-1.3/
./configure --enable-utf8 --enable-geoip=legacy
make
make installzsh
# 生成日志页面
/usr/local/bin/goaccess -f access.log -a > access.html