编译安装Nginx服务
关闭防火墙,将安装Apache所需软件包传到/opt目录下并安装依赖包
创建运行用户、组
Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限
编译安装Nginx
检查、启动、重启、停止 nginx服务
nginx -t #检查配置文件是否配置正确
#启动
nginx
#停止
cat /usr/local/nginx/logs/nginx.pid #先查看nginx的PID号
kill -3 <PID号>
kill -s QUIT <PID号>
killall -3 nginx
killall -s QUIT nginx
#重载
kill -1 <PID号>
kill -s HUP <PID号>
killall -1 nginx
killall -s HUP nginx
#日志分隔,重新打开日志文件
kill -USR1 <PID号>
#平滑升级
kill -USR2 <PID号>
添加 Nginx 系统服务
认识Nginx服务的主配置文件 nginx.conf
文件路径:/usr/local/nginx/conf/nginx.conf
全局配置
I/O 事件配置
use epoll; #使用 epoll 模型,2.6及以上版本的系统内核,建议使用epoll模型以提高性能
HTTP 配置
日志格式设定:
r
e
m
o
t
e
a
d
d
r
与
remote_addr与
remoteaddr与http_x_forwarded_for用以记录客户端的ip地址;
$remote_user:用来记录客户端用户名称;
$time_local: 用来记录访问时间与时区;
$request: 用来记录请求的url与http协议;
$status: 用来记录请求状态;成功是200,
$body_bytes_sent :记录发送给客户端文件主体内容大小;
$http_referer:用来记录从那个页面链接访问过来的;
h
t
t
p
u
s
e
r
a
g
e
n
t
:
记
录
客
户
浏
览
器
的
相
关
信
息
;
通
常
w
e
b
服
务
器
放
在
反
向
代
理
的
后
面
,
这
样
就
不
能
获
取
到
客
户
的
I
P
地
址
了
,
通
过
http_user_agent:记录客户浏览器的相关信息; 通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过
httpuseragent:记录客户浏览器的相关信息;通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。
location常见配置指令,root、alias、proxy_pass
root(根路径配置):请求www.kgc.com/test/1.jpg,会返回文件/usr/local/nginx/html/test/1.jpg
alias(别名配置):请求www.kgc.com/test/1.jpg,会返回文件/usr/local/nginx/html/1.jpg
proxy_pass(反向代理配置):
proxy_pass http://127.0.0.1:8080/; 会转发请求到http://127.0.0.1:8080/1.jpg
proxy_pass http://127.0.0.1:8080; 会转发请求到http://127.0.0.1:8080/test/1.jpg
访问状态统计配置
先使用命令/usr/local/nginx/sbin/nginx -V 查看已安装的 Nginx 是否包含 HTTP_STUB_STATUS 模块
修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置
重启服务,访问测试
于授权的访问控制
生成用户密码认证文件
修改主配置文件相对应目录,添加认证配置项
重启服务,访问测试
基于客户端的访问控制
记得重启!
nginx服务支持的虚拟主机类型
基于域名的 Nginx 虚拟主机
基于IP 的 Nginx 虚拟主机
基于端口的 Nginx 虚拟主机
与apache大致相同,就不详细写了。