源码下Nginx安装与配置

2018年03月13日 1.34k 次阅读 0 条评论 0 人点赞
1、准备工作 选首先安装这几个软件:GCC,PCRE(Perl Compatible Regular Expression),zlib,OpenSSL。 Nginx是C写的,需要用GCC编译;Nginx的Rewrite和HTTP模块会用到PCRE;Nginx中的Gzip用到zlib; 用命令“# gcc”,查看gcc是否安装;如果出现“gcc: no input files”信息,说明已经安装好了。 否则,就需要用命令“# yum install gcc”,进行安装了!一路可能需要多次输入y,进行确认。 安装好后,可以再用命令“#gcc”测试,或者用命令“# gcc -v”查看其版本号。 同样方法,用如下命令安装PCRE,zlib,OpenSSL(其中devel,是develop开发包的意思):
# yum install -y pcre pcre-devel  
# yum install -y zlib zlib-devel  
# yum install -y openssl openssl-devel
2、下载并安装 创建目录(nginx)并进去;然后,从官方地址(http://nginx.org/)下载,解压,配置,编译,安装:
# mkdir nginx && cd nginx  
# wget http://nginx.org/download/nginx-1.7.3.tar.gz  
# tar xzf nginx-1.7.3.tar.gz   
# cd nginx-1.7.3  
# ./configure  
# make  
# make install  
# whereis nginx  
nginx: /usr/local/nginx  
默认的安装路径为:/usr/local/nginx;跳转到其目录下sbin路径下,便可以启动或停止它了。
# ./nginx -h  
nginx version: nginx/1.7.3  
Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]  
Options:  
  -?,-h         : this help  
  -v            : show version and exit  
  -V            : show version and configure options then exit  
  -t            : test configuration and exit  
  -q            : suppress non-error messages during configuration testing  
  -s signal     : send signal to a master process: stop, quit, reopen, reload  
  -p prefix     : set prefix path (default: /usr/local/nginx/)  
  -c filename   : set configuration file (default: conf/nginx.conf)  
  -g directives : set global directives out of configuration file  
启动:./nginx 停止:./nginx -s stop 3、添加到系统服务 使用命令“# vi /etc/init.d/nginx”,打开编辑器,输入如下内容:
#!/bin/sh  
# chkconfig: 2345 85 15  
# Startup script for the nginx Web Server  
# description: nginx is a World Wide Web server.   
# It is used to serve HTML files and CGI.  
# processname: nginx  
# pidfile: /usr/local/nginx/logs/nginx.pid  
# config: /usr/local/nginx/conf/nginx.conf  
  
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin  
DESC="nginx deamon"  
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 "can not reload"  
}  
  
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 conf..."  
  d_reload  
  echo "reload ."  
;;  
restart)  
  echo -n "Restarting $DESC: $NAME"  
  d_stop  
  sleep 2  
  d_start  
  echo "."  
;;  
*)  
  echo "Usage: $ScRIPTNAME {start|stop|reload|restart}" >&2  
  exit 3  
;;  
esac  
  
exit 0  
保存退出后,再使用下面的命令,使其可执行;然后,添加配置并查看。 可用chkconfig修改其值,也可用ntsysv工具改变是否自启动。
# chmod +x /etc/init.d/nginx  
# chkconfig --add nginx  
# chkconfig nginx on/off  
# chkconfig --list nginx  
nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off  
 

作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具。

文章评论(0

接收回复邮件通知