02---Nginx
Nginx
Nginx¶
- 是一个高性能的Web和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器
- 轻量级web服务器
- 延伸版本tengine(淘宝)、openresrt(章奕春)
Nginx管理
安装¶
- 安装包:官网、rpm包、第三方(有风险)
- 下载:
wget http://nginx.org/download/nginx-1.15.8.tar.gz -P /usr/src
- 解压:
tar zxvf nginx-1.15.8.tar.gz
-
查看帮助:
./configure --help
-
配置:
- 检查环境是否满足安装条件,解决包依赖
- 指定安装方式
- 指定安装路径
-
编译
- 下载c编译器等:
yum install gcc pcre-devel zlib-devel
- 开始编译:
./configure --prefix=/usr/local/nginx
- 将源码变成可执行程序:
make
- 下载c编译器等:
- 安装:
make install
使用¶
- 查看某个端口是否被使用
lsof -i :80
netstat -ntpl
-
启动:先
cd
到安装目录/usr/loacl/nginx/
,之后就可执行sbin/nginx
。可以通过查看端口占用命令看看是否已经启动 -
验证:可以通过浏览器访问:
192.168.2.42
就可以查看nginx启动页面 -
注意:可能存在防火墙问题,简单的就关闭防火墙,或者开放此80端口
配置文件¶
基本配置¶
# /表示root根目录 代表 /usr/local/nginx/html/
location / {
root html;
index index.html index.htm;
}
# 访问控制 只允许本机访问a 其他机器拒绝访问
location /a {
allow 127.0.0.1; # 允许ip访问
allow 192.168.2.42;
deny all; # 拒绝所有
return 404; # 返回页面
# return http://www.jd.com;
}
# 目录用户验证 任何人都可以访问 但是需要用户密码才能访问
location /b {
auth_basic "登录验证(子牙)"
auth_basic_user_file /etc/nginx/htpasswd
}
# 记录日志
http {
log_format alex '[$time_local] $remote_addr "$request" $status';
}
server{
access_log logs/host.access.log alex;
}
用到的命令¶
- 文本浏览器:
elinks 127.0.0.1 --dump
- 不重启启动服务:
killall -s HUP nginx
- yum查找程序的名字:
yum search elinks
- 安装加密包:
yum install httpd-tools
- 生成用户名密码:
htpasswd -c /etc/nginx/htpasswd alex
- 滚动输出:
tailf host.access.log
- 删除文件带#号的:
sed -i "/#/d" conf/nginx.conf
- 删除文件空行的:
sed -i "/^$/d" conf/nginx.conf
- 上传文件到另一服务器:
scp -r /root/nginx_install/ root@192.168.0.106:/root
:移动一个目录下的所有文件用-r