当前访客身份:游客 [ 登录  | 注册加入尚学堂]
启用新域名sxt.cn
新闻资讯

服务器搭建:手把手教你配置web服务之nginx1.6

helloworld 发表于 2年前  | 评论(0 )| 阅读次数(1175 )|   0 人收藏此文章,   我要收藏
摘要 服务器搭建:手把手教你配置web服务之nginx1.6
 我这里是内网搭建的一个centos6.3mini版的虚拟机环境。
  • nginx版本:1.6

  • tomcat版本:7.0.54

1. 安装nginx

    在安装nginx前,需要确保系统安装了g++、gcc、openssl-devel、pcre-devel和zlib-devel软件。

    安装必须软件:这里我使用的是yum安装,刚装好的操作系统是纯净的什么都没有, 

[root@unique ~]# yum install gcc-c++
[root@unique ~]# yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel

    检查系统安装的Nginx:

[root@unique ~]# find -name nginx

    如果有的话卸载掉他即可,我这里还没有装。我用wget命令下载一个1.6.0版本的,移动在/usr/local下

[root@unique ~]# wget http://nginx.org/download/nginx-1.6.0.tar.gz
[root@unique ~]# mv nginx-1.6.0.tar.gz /usr/local
[root@unique local]# tar -zxv -f nginx-1.6.0.tar.gz
[root@unique local]# mv nginx-1.6.0 nginx
[root@unique local]# cd nginx
[root@unique nginx]# ./configure --prefix=/usr/local/nginx/
[root@unique nginx]# make
[root@unique nginx]# make install

    在make install的时候遇到

[root@unique nginx]# make install
make -f objs/Makefile install
make[1]: Entering directory `/usr/local/nginx'
test -d '/usr/local/nginx/' || mkdir -p '/usr/local/nginx/'
test -d '/usr/local/nginx//sbin'                || mkdir -p '/usr/local/nginx//sbin'
test ! -f '/usr/local/nginx//sbin/nginx'                || mv '/usr/local/nginx//sbin/nginx'         '/usr/local/nginx//sbin/nginx.old'
cp objs/nginx '/usr/local/nginx//sbin/nginx'
test -d '/usr/local/nginx//conf'                || mkdir -p '/usr/local/nginx//conf'
cp conf/koi-win '/usr/local/nginx//conf'
cp: "conf/koi-win" 与"/usr/local/nginx//conf/koi-win" 为同一文件
make[1]: *** [install] 错误 1
make[1]: Leaving directory `/usr/local/nginx'
make: *** [install] 错误 2

    这里估计不少人已经出错了,很多编译安装的说明都没有设置conf-path,但是我没有设置的话,在make install 阶段,会出现cp: `conf/koi-win’ and `/usr/local/nginx/conf/koi-win’ are the same file错误。所以我们在这里设置一下,那我们就指定好nginx的conf重新来配置一遍

[root@unique nginx]# ./configure --prefix=/usr/local/nginx/ --conf-path=/usr/local/nginx/nginx.conf
[root@unique nginx]# make
[root@unique nginx]# make install

    O了,nginx就已经成功安装在我的系统上了。

2. 配置防火墙

#修改防火墙配置: 
[root@unique nginx]# vi + /etc/sysconfig/iptables
#添加配置项 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

#重启防火墙和网络配置
[root@unique nginx]# service iptables restart
[root@unique nginx]# /etc/init.d/network restart

    这样nginx的web服务就可以通过80端口访问了

3. 启动nginx

#方法1 
[root@unique nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 
#方法2 
[root@unique nginx]# cd /usr/local/nginx/sbin 
[root@unique sbin]# ./nginx

4. 停止nginx

#查询nginx主进程号 
ps -ef | grep nginx
#停止进程 
kill -QUIT 主进程号 
#快速停止 
kill -TERM 主进程号 
#强制停止 
pkill -9 nginx

5. 重启nginx

[root@unique sbin]# /usr/local/nginx/sbin/nginx -s reload

6. 测试nginx

#测试端口 
netstat –na|grep 80
#浏览器中测试 
http://ip:80

    

    酷炫的nginx就配置完成了~

7. 扩展:配置自定义命令

    这里就做一个自定义的nginx启动停止脚本

[root@unique sbin]# vi /etc/init.d/nginx

    把下面的脚本复制进去然后保存

#! /bin/sh
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/$NAME.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

set -e
[ -x "$DAEMON" ] || exit 0

do_start() {
 $DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}

do_stop() {
 kill -INT `cat $PIDFILE` || echo -n "nginx not running"
}

do_reload() {
 kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"
}

case "$1" in
 start)
 echo -n "Starting $DESC: $NAME"
 do_start
 echo "."
 ;;
 stop)
 echo -n "Stopping $DESC: $NAME"
 do_stop
 echo "."
 ;;
 reload|graceful)
 echo -n "Reloading $DESC configuration..."
 do_reload
 echo "."
 ;;
 restart)
 echo -n "Restarting $DESC: $NAME"
 do_stop
 do_start
 echo "."
 ;;
 *)
 echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
 exit 3
 ;;
esac

exit 0

    给文件添加执行权限

[root@unique sbin]# chmod +x /etc/init.d/nginx
#然后可以通过
#/etc/init.d/nginx start 命令启动nginx
#/etc/init.d/nginx stop 命令停止nginx
#/etc/init.d/nginx restart 命令重启nginx

#重启nginx
[root@unique init.d]# /etc/init.d/nginx restart
Restarting nginx daemon: nginx.

8. 扩展:配置开机启动

    如果需要开机启动服务,保存好 /etc/init.d/nginx文件后,执行以下命令:

[root@unique init.d]#chkconfig --add ningx
[root@unique init.d]#chkconfig --level nginx 2345 on


分享到:0
关注微信,跟着我们扩展技术视野。每天推送IT新技术文章,每周聚焦一门新技术。微信二维码如下:
微信公众账号:尚学堂(微信号:bjsxt-java)
声明:博客文章版权属于原创作者,受法律保护。如果侵犯了您的权利,请联系管理员,我们将及时删除!
(邮箱:webmaster#sxt.cn(#换为@))
北京总部地址:北京市海淀区西三旗桥东建材城西路85号神州科技园B座三层尚学堂 咨询电话:400-009-1906 010-56233821
Copyright 2007-2015 北京尚学堂科技有限公司 京ICP备13018289号-1 京公网安备11010802015183