文档章节

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

王爵nice
 王爵nice
发布于 2014/07/05 17:54
字数 1004
阅读 2858
收藏 171
点赞 8
评论 9

    我这里是内网搭建的一个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 && 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 && 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


© 著作权归作者所有

共有 人打赏支持
王爵nice

王爵nice

粉丝 249
博文 95
码字总数 98815
作品 5
浦东
程序员
加载中

评论(9)

王爵nice
王爵nice

引用来自“DarkAngel”的评论

不应该用find -name nginx这个命令来检查有没有安装Nginx吧,这个是搜索文件的。应该用rpm -qa nginx吧?

嗯,你说的对,后面我有看到83
DarkAngel
DarkAngel
不应该用find -name nginx这个命令来检查有没有安装Nginx吧,这个是搜索文件的。应该用rpm -qa nginx吧?
王爵nice
王爵nice

引用来自“亦歆”的评论

0既然是centos系统,更建议使用官方提供的yum安装方式,启动脚本,chkconfig已经配置好

各有优缺点,http://blog.51yip.com/linux/1498.html
YixinXiao
YixinXiao
0既然是centos系统,更建议使用官方提供的yum安装方式,启动脚本,chkconfig已经配置好
王爵nice
王爵nice

引用来自“iboboya”的评论

“openssl--devel”多了一个“-”,应该是“openssl-devel”

以修复,谢谢提醒
boyart
boyart
“openssl--devel”多了一个“-”,应该是“openssl-devel”
路小磊
路小磊
哈哈,支持一个~
王爵nice
王爵nice

引用来自“路小磊”的评论

貌似只介绍了Nginx哎~~

已经发布 :)
路小磊
路小磊
貌似只介绍了Nginx哎~~
CentOS 6.x上搭建vSFTPD服务器搭建与配置详解

摘要: 手把手教你搭建vsftpd服务器,实现了基于db文件和MySQL数据库文件进行虚拟用户认证,当然了也本文章也包含搭建过程中问题的排查啦,哈哈哈。 另外,我在CentOS 7.x上也进行了搭建测试...

哎呀_毅然 ⋅ 2017/08/19 ⋅ 0

手把手教你搭建 JSP开发环境(Windows系统)

前言 由于其 易于开发动态界面、易用 & 分离性好的特点,在前端开发中得到了广泛的应用 今天,我将手把手教你搭建 在环境下的开发环境 目录 示意图 1. JSP介绍 简介 简介 优点 2. 开发环境搭...

Carson_Ho ⋅ 2017/12/11 ⋅ 0

NO.6 使用这些来帮助我们更高效率的运维

Hello,大家好,这是第六期 上云用户必看期刊,本期我们主打高效率的运维和一些常用技术做分享。 首先是提高运维效率的一些好文 通过Web界面在多台服务器上批量创建文件https://yq.aliyun.c...

我的中国 ⋅ 05/05 ⋅ 0

手把手教你基于WordPress搭建自己的个人博客

一步一步教你基于WordPress搭建自己的个人博客,WordPress作为成熟的CMS框架,美观,方便,插件多,更新频繁,非常适合个人博客与网站的搭建,适合新手,无需太多的代码基础。 原文链接:手把...

flyzy2005 ⋅ 01/29 ⋅ 0

Lync Server 2013 实战系列之二:标准版-前期准备

在上篇文章中跟大家一起分享了如何使用Lync Server 2013 去规划公司的拓扑和网络流量等。从今天开始手把手教大家搭建第一个Lync标准版,详细的为大家讲解每一步操作的原因并做到无边缘服务器...

iLync ⋅ 2014/08/22 ⋅ 0

应用软件学习总结(包括监控,自动化运维工具,WEB服务等)

应用软件学习总结 目录 版本控制系统 SVN部署及使用 Git从入门到熟悉 监控系统 一健安装Zabbix 自动化运维工具 Ansible自动化运维工具安装及使用 VPN专线 PPTP服务器端部署到客户端连接使用 ...

yht_1990 ⋅ 2016/07/19 ⋅ 0

手把手教你搭建PHP开发“黄金自由新搭档”

引言:随着PHP广泛应用白热化,大家使用的开发工具从重量级的ZendStudio到轻量级的Notepad++可以说是五花八门、应有尽有,这给初学者带来不少困惑,工具太多了就无从下手选择适合自己需要的东...

人可工作室 ⋅ 2017/03/31 ⋅ 0

git文章列表

关于gitlab默认clone协议 Git实现从本地添加项目到远程仓库 翻翻git之---一个简单的标签控件 LabelView (随手发了两张小宝宝的玩耍照) Git 项目推荐 | Java 版微信普通号机器人 翻翻git之---...

d_watson ⋅ 2016/04/20 ⋅ 0

Window下Nginx1.6+Tomcat6+Memcached精简配置

总体思路:本机安装Nginx,分发到192.168.0.10、192.168.0.11两台Tomcat服务器,192.168.0.12安装Memcached,两台Tomcat服务器通过Memcached共享Session。(当然全部部署到同一台电脑也可以,...

GKTest ⋅ 2014/08/08 ⋅ 1

无内测账号,手把手教你微信小程序开发

「小程序」这个划时代的产品发布快一周了,互联网技术人都在摩拳擦掌,跃跃欲试。可是小程序目前还在内测,首批只发放了 200 个内测资格(泪流满面)。本以为没有 AppID 这个月就与小程序无缘...

EarlGrey ⋅ 2016/09/28 ⋅ 6

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 1

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 昨天 ⋅ 0

Nginx + uwsgi @ubuntu

uwsgi 安装 sudo apt-get install python3-pip # 注意 ubuntu python3默认没有安装pippython3 -m pip install uwsgi 代码(test.py) def application(env, start_response): start_res......

袁祾 ⋅ 昨天 ⋅ 0

版本控制工具

CSV , SVN , GIT ,VSS

颖伙虫 ⋅ 昨天 ⋅ 0

【2018.06.19学习笔记】【linux高级知识 13.1-13.3】

13.1 设置更改root密码 13.2 连接mysql 13.3 mysql常用命令

lgsxp ⋅ 昨天 ⋅ 0

LVM

LVM: 硬盘划分分区成物理卷->物理卷组成卷组->卷组划分逻辑分区。 1.磁盘分区: fdisk /dev/sdb 划分几个主分区 输入t更改每个分区类型为8e(LVM) 使用partprobe生成分区的文件:如/dev/sd...

ZHENG-JY ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部