Nginx 安装
下载
wget http://nginx.org/download/nginx-1.17.9.tar.gz
解压
tar -zxvf nginx-1.17.9.tar.gz
查看目录结构
cd nginx-1.17.9/
目录结构
auto 脚本文件
CHANGES
CHANGES.ru
conf 配置文件
configure 自动安装脚本
contrib 存放其他机构贡献文档
html 存放默认网站文件
LICENSE
man 存放帮助文件
README
src 存放nginx源代码
先安装nginx 模块依赖软件
pcre-devel 为nginx(rewrite) 提供正则表达式库
zlib-devel 为nginx(gzip) 提供数据压缩用的函数库
openssl-devel 为nginx(ssl) 提供密码算法、证书以及ssl协议等功能
yum -y install pcre-devel openssl-devel 安装依赖(openssl依赖zlib,所以会自动下载)
Complete 安装完成
编译安装nginx
检查安装环境
./configure
–prefix=/usr/local/nginx
–with-http_ssl_module
./configure 检查配置
\ 代表命令行未结束
–prefix= 指定安装位置(目前是默认位置)
–with-http_ssl_module 允许使用该模块
Make命令编译和安装
make && make install
Nginx 启动
cd /usr/local/nginx/sbin 进入目录
./nginx 启动
ps aux| grep nginx 查看进程
主进程、工作进程已经启动。
Nginx 停止
1、立即停止 ./nginx -s stop
2、从容停止 ./nginx -s quit
3、kill kill nginx主进程pid
4、killall killall nginx
Nginx 常用命令
nginx -s reload 重新加载配置文件
nginx -s reopen 重新打开日志
nginx -t 检测当前配置文件是否正确
nginx -v 显示版本信息
nginx -V 显示版本信息和编译选项
常用排障
netstat -tlnp 查看端口占用 nginx默认会监听80端口提供http访问
(t tcp协议、l 监听服务、n 不解析名称、p 显示pid)
防火墙开放80端口
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
查看临时状态 service iptables status
保存规则 service iptables save
重启iptable service iptables restart
验证访问
http://10.2.36.100/
添加到环境变量
echo $PATH 查看环境变量
/sbin 表示需要管理员权限 放置用户自己安装的程序
/bin 不需要管理员权限
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx 创建软连接将nginx命令加入到sbin中
cd /usr/local/sbin/ 切换到sbin中
ll 查看新建的软连接
添加到系统服务
CentOS 中,service 命令实际上调用 /etc/init.d 目录下的shell脚本
/etc/init.d/network restart (network是文件名,restart是参数)
等价于
service network restart
/--------------------------------------/
将nginx添加到系统服务,只需要在/etc/init.d 中编写一个文件名为nginx的shell脚本即可
脚本
vim /etc/init.d/nginx
#! /bin/bash
DAEMON=/usr/local/nginx/sbin/nginx
case "$1" in
start)
echo "Starting nginx daemon..."
$DAEMON && echo "SUCCESS"
;;
stop)
echo "Stopping nginx daemon..."
$DAEMON -s quit && echo "SUCCESS"
;;
reload)
echo "Reloading nginx daemon..."
$DAEMON -s RELOAD && ECHO "success"
;;
restart)
echo "Restarting nginx daemon..."
$DAEMON -s quit
$DAEMON && echo "SUCCESS"
;;
*)
echo "Usage: service nginx {start|stop|restart|reload}"
exit 2
;;
esac
保存并添加可执行权限
chmod +x /etc/init.d/nginx
检查: service nginx start
service nginx stop
设置开机自动启动
chkconfig --add 增加指定的系统服务(nginx)
–del 删除指定的系统服务
–list 用于列出系统所有的服务启动情况
前置条件: nginx启动脚本,需要增加对chkconfig的支持
编辑nginx: vim /etc/init.d/nginx
第二行增加 # chkconfig: 35 85 15
(启动级别 3和5)
(S85 启动顺序)
(K15 关闭顺序)
添加nginx服务自启动: chkconfig --add nginx
检查: chkconfig --list
nginx 0:off 1:off 2:off 3:on 4:off 5:on 6:off
从中可以看出nginx已经加入到开机启动,切7个启动级别中,3和5是on
配置部分
/usr/local/nginx/conf/nginx.conf
配置用户和组
配置更高权限的用户,可以避免很多操作没有权限的情况
user deploy deploy;
配置目录
默认情况下,访问到一个目录,切目录下没有index指令设置的索引文件(如index.html)就会报 403
开启目录功能就可以访问目录了
server节点 设置 autoindex on;