nginx--提供一键安装脚本
2015-11-14 01:09
633 查看
nginx特点
基于进程池实现的fastcgi单一进程即可实现处理上千的连接
易于扩展的插件系统
安装篇
*下载源码curl -O http://nginx.org/download/nginx-1.8.0.tar.gz[/code] *创建nginx用户useradd -s /sbin/nologin -d /usr/local/nginx nginx
*安装必要的软件依赖yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel
编译前的配置
查看开关变量./configure --help
这个地方建议保存一个shell脚本便于日后编译[root@3maoer nginx-1.9.6]# cat install.sh #!/bin/sh ./configure --prefix=/usr/local/nginx-1.9.6 #一般指定这个,也便于升级 make make install ln -s /usr/local/nginx-1.9.6 /usr/local/nginx #便于用最新的版本 [root@3maoer nginx-1.9.6]#
*控制nginx进程
nginx通过nginx发送不同的信号来实现管理进程/usr/local/nginx/sbin/nginx -s [stop|quit|reopen|reload] 停止|退出|重新打开日志|重新载入配置文件
*新配置加入的流程
1.创建配置文件
2.测试配置文件有效性 /usr/local/nginx/sbin/nginx -t -c 配置文件# 显示配置是否有效
3.覆盖默认配置文件
4.nginx -s reload 重新载入新的配置
*显示configure配置选项
/usr/local/nginx/sbin/nginx -V
*指定额外的命令
./nginx -s 'timer_resolution 200ms'
*ngin加入系统服务cat >/etc/init.d/nginx<<'EOF' #!/bin/sh #chkconfig: 2345 80 90 #description:auto_run #注意上面2 3行不能少 set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="nginx daemon" NAME="nginx" DAEMON=/usr/local/nginx/sbin/$NAME SCRIPTNAME=/etc/init.d/$NAME test -x $DAEMON || exit 0 d_start() { $DAEMON || echo -n " already running" } d_stop() { $DAEMON -s quit || echo -n " not running" } d_reload() { $DAEMON -s reload || echo -n " could not reload" } d_status() { ps -ef|grep nginx|grep -v grep } case "$1" in start) echo -n "starting $DESC :$NAME" d_start echo "." ;; stop) echo -n "stopping $DESC :$NAME" d_stop echo "." ;; reload) echo -n "reloading $DESC :$NAME configuration...." d_reload echo "reloaded." ;; restart) echo -n "restart $DESC :$NAME " d_stop sleep 2 d_start echo "." ;; status) d_status ;; *) echo "$SCRIPTNAME {start|stop|restart|reload}" >&2 exit 3 esac exit 0 EOF chmod +x /etc/init.d/nginx chkconfig --add nginxnginx配置语法
注释
所有以#开头的行都是注释
指定worker进程运行用户以及运行组user user [group]
nginx可以以指定的用户组运行
文件包含include xxxconf
作用:将指定配置包含到当前位置,在文件名中可以包含通配符:
格式良好的配置应该提供下面的几个配置
|名称 |描述 |
|-----------:|-------------------------------------------------:|
|nginx.conf|应用程序的基本配置文件 |
|mime.types|一个文件扩展列表文件,他们与MIME类型关联 |
|fastcgi.conf|与FastCGI相关的配置文件 |
|proxy.conf|Proxy相关的配置 |
|sites.conf|配置Nginx提供的网站,包括虚拟机,一般每一个域建立一个单独的文件|
命令
每一条命令必须写上”;“表示一条命令
命令快
格式:block_name { .... }
作用:便于区分全局,标识,继承快命令
不同的区块有着不同命令
如:http { server { listen 80; server_name 3maoer.com; location ^~/admin/ { index index.php; } } }
正则表达式
nginx的配置location rewrite 命令支持复杂的正则表达式
指令值单位
k/K 千字节
m/M 兆字节
ms:Milliseconds 毫秒
s:Seconds 秒
m:Minutes 分钟
h:Hours 小时
d:Days 天
w:Weeks 星期
M:Months (30天)月
y:Years (365天)年
时间默认不写是秒
变量
nginx内置了一些变量
如
http模块
$nginx_version
模块的构成
基本模块
核心模块
daemon
值:on/off
默认:on
语法:daemon
作用:
启用或者禁用守护进程模式,如果禁用则程序不能后台运行只能前台运行
debug_points
值:stop或者abort
默认:none
事件模块
配置模块安装脚本
#!/bin/sh
############################################################################
# install-nginx.sh #
# #
#功能: 一键安装nginx程序 #
#描述: 将要安装的版本赋值给PROGNAME,如安装1.8版本,PROGNAME="nginx-1.8.0" #
#创建: luomg #
#时间: 2016-01-19 23:00
############################################################################
PROGNAME="nginx-1.8.0"
BASEDIR="/lnmp"
mkdir -p ${BASEDIR}
[ -f ${PROGNAME}.tar.gz ] ||
curl -O http://nginx.org/download/${PROGNAME}.tar.gz
useradd -s /sbin/nologin -d /usr/local/nginx nginx
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
tar -zxvf ${PROGNAME}.tar.gz
[ -d ${PROGNAME} ] && echo "已经解压"
cd ${PROGNAME}
./configure --prefix=${BASEDIR}/${PROGNAME}
make
make install
ln -s ${BASEDIR}/${PROGNAME} /usr/local/nginx
cat >/etc/init.d/nginx<<'EOF' #!/bin/sh #chkconfig: 2345 80 90 #description:auto_run #注意上面2 3行不能少 set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="nginx daemon" NAME="nginx" DAEMON=/usr/local/nginx/sbin/$NAME SCRIPTNAME=/etc/init.d/$NAME test -x $DAEMON || exit 0 d_start() { $DAEMON || echo -n " already running" } d_stop() { $DAEMON -s quit || echo -n " not running" } d_reload() { $DAEMON -s reload || echo -n " could not reload" } d_status() { ps -ef|grep nginx|grep -v grep } case "$1" in start) echo -n "starting $DESC :$NAME" d_start echo "." ;; stop) echo -n "stopping $DESC :$NAME" d_stop echo "." ;; reload) echo -n "reloading $DESC :$NAME configuration...." d_reload echo "reloaded." ;; restart) echo -n "restart $DESC :$NAME " d_stop sleep 2 d_start echo "." ;; status) d_status ;; *) echo "$SCRIPTNAME {start|stop|restart|reload}" >&2 exit 3 esac exit 0 EOF chmod +x /etc/init.d/nginx chkconfig --add nginx参考资料
Nginx HTTP Server
相关文章推荐
- Nginx基础入门之Nginx命令控制说明
- linux之nginx的安装
- 在CentOS上使用EPEL安装Nginx/PHP-FPM环境
- Nginx之location 匹配规则详解
- Nginx配置详解
- Nginx在Linux下的安装与配置
- nginx服务器安装及配置文件详解
- Nginx slab内存管理
- nginx自定义负载均衡策略
- Nginx优化 突破十万并发
- nginx epoll
- nginx连接池
- nginx + mysql + php相关源码包及安装
- nginx正则说明
- 安装nginx 必装程序 zlib pcre
- Nginx架构
- Nginx初探
- nginx防盗链设置
- 软负载与nginx那些强大的不可不说的功能
- 交叉编译 nginx ,基于mipsel平台