Linux下Nginx相关常用操作
nginx作为使用最为广泛的http服务器,本文系统介绍了其在Linux的最常用操作,为大家提供了相关功能速查手册。内容主要包括了,日常操作、常见配置、常见错误、相关资源三部分内容。
- Nginx整体介绍
- 本文相关前提条件
- Nginx日常操作
- 通过软件源进行安装
- 启动与停止
- 查看nginx运行日志
- Nginx常见配置
- 一般性操作
- 配置文件结构
- 主配置文件
- https服务反向代理本地JAVA应用示例
- 相关学习资源
本文相关前提条件 本文所有操作指令均以已经获得系统管理员权限为前提。由于不同的Linux发行版使用的软件依赖管理工具、系统服务配置工具差异较大,需要根据不同操作系统选择相应的指令。
【Linux下Nginx相关常用操作】其中不同发行版软件依赖管理工具映射关系如下:
- yum,适用于Centos7
- systemctl,适用于Centos7
- 添加EPEL软件源,如果已经安装EPEL仓库请跳过该步骤。
yum install epel-release
- 安装Nginx软件
yum install nginx
启动与停止
- 设置开机启动
systemctl enable nginx
- 启动nginx
systemctl start nginx
- 停止nginx
systemctl stop nginx
- 查看当前状态
systemctl status nginx
- 重启nginx
systemctl restart nginx
- 重新加载配置
systemctl reload nginx
查看nginx运行日志
nginx的默认日志路径配置为 /var/log/nginx/,该章节默认指令操作目录为日志路径。根据日志的操作目的不同,一般会使用cat、grep、tail等命令查看日志,该章节默认查看操作为实时滚动查看。
- 查看访问日志
tail -f access.log
- 查看错误日志
tail -f error.log
Nginx常见配置 一般性操作 在进行配置文件改动后,需要使用执行重新加载使得配置信息生效,还有少数情况需要重新启动nginx服务。
配置文件结构
- 一般nginx相关的配置文件都在 /etc/nginx/ 目录中。
- 主配置文件为上述目录的 nginx.conf ,其中定义了nginx的默认配置信息。
- 根据主配置文件默认定义,每一个独立的nginx服务配置文件应放在配置目录的 conf.d/ 子目录当中。
- 一般子配置文件以域名进行命名方便运维人员检索,例如 dm2box.com.conf 。
/etc/nginx/nginx.conf
user nginx;
worker_processes auto;
# 错误日志路径配置
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# 加载动态模块配置
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}http {
log_formatmain'$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.logmain;
sendfileon;
tcp_nopushon;
tcp_nodelayon;
keepalive_timeout65;
types_hash_max_size 4096;
include/etc/nginx/mime.types;
default_typeapplication/octet-stream;
# 加载服务器子配置文件
include /etc/nginx/conf.d/*.conf;
}
https服务反向代理本地JAVA应用示例 该示例是JAVA网站的典型配置示例,其中包括了反向代理配置、http全部重定向至本域https服务、SSL证书与安全配置等关键配置。
/etc/nginx/conf.d/dm2box.com.conf
# 代理节点配置
upstream dm2box {
# 本地dm2box服务java应用服务端口
server 127.0.0.1:8080;
}# 80端口服务
server {
listen80;
server_namedm2box.com;
# 全部重定向至https协议
return 301 https://$server_name$request_uri;
}# 443端口服务
server {
listen 443 ssl;
listen [::]:443;
server_name dm2box.com;
client_max_body_size 1024m;
# ssl证书地址
ssl_certificate/dm2box/full_chain.pem;
# 私钥地址
ssl_certificate_key/dm2box/private.key;
# 缓存有效期
ssl_session_timeout5m;
# 加密算法
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
# 安全链接可选的加密协议
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# 使用服务器端的首选算法
ssl_prefer_server_ciphers on;
#Gzip相关
gzip on;
gzip_buffers 4 16k;
gzip_comp_level 6;
gzip_vary on;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
location / {
# 反向代理配置
proxy_pass http://dm2box;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
相关学习资源
- 官方网站知识库,https://www.nginx.com/resources/wiki/
版权声明,本文首发于 数字魔盒 https://www.dm2box.com/ 欢迎转载。
推荐阅读
- 开学第一天(下)
- 【故障公告】周五下午的一次突发故障
- 生活随笔|好天气下的意外之喜
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- 汇讲-勇于突破
- Android中的AES加密-下
- 说的真好
- 放下心中的偶像包袱吧
- Linux下面如何查看tomcat已经使用多少线程
- 【1057快报】深入机关,走下田间,交通普法,共创文明