站长视角
用户至上

Centos6.2_(64位)服务器环境配置:源码编译Nginx

上一回讲到配置环境的一些前期工作,以及编译安装Mysql5.3,如果不想错过任何细节,请阅读《(Centos6.2_64位)服务器环境配置:源码编译Mysql》一文。

今天趁下班前的一点空余时间,接着把Nginx部分也写写。

还 记得上一篇的一些约定吧:存放下载安装包的位置是/setup,目标软件都指定安装目录:/apps。由于Nginx可以使用正则表达式来匹配访问路径, 要正常使用此功能就保证安装有Pcre库,如果你已经接着上一篇操作过来,就可以不用考虑这一点,因为此库已经在安装列表里加入。现在可以重温下这段命 令,它一次过就把所需要的库都安装了。

#yum install gcc gcc-c++ gcc-g77 pcre-devel openssl-devel bison autoconf automake make cmake libcurl-devel gd-devel zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*

以 上命令可以大胆执行,如果已经安装的库会就会自动跳过,也不会对系统产生副 作用。如果的Nginx作用可大了,不仅可以做功能强大的反向代理服务器,还加入了对视频拖动的支持,如:FLV、MP4等主流网络视频格式,如果利用 Nginx用简单的视频服务器,就要根据情况加入相关的编译参数,下方会简单说到,或者我会单独针对Nginx配置成视频服务器再写一篇相关文章。

其它不多说了,下面开始转入正题。所有操作为Shell窗口进行,以#号开始,//为中文注释,执行的时候不要。

#cd /setup

#wgethttp://nginx.org/download/nginx-1.2.8.tar.gz //Nginx官网目前最新的稳定版本是1.2.8

#groupadd www //为了确保系统安全,新建Nginx的专门执行用户,现在咱们就用www分别建立用户组和对应同名用户

# useradd -g www -s /sbin/nologin -M www //创建名为www的用户并加入到www的用户组,并且禁止该用户登录shell

#tar zxf nginx-1.2.8.tar.gz //解压文件,之后会自动生成nginx-1.2.8目录

#cd nginx-1.2.8

# ./configure –prefix=/apps/nginx –user=www –group=www –with-http_stub_status_module –with-pcre –with-http_ssl_module –with-http_realip_module –with-sha1-asm //指定了/apps/nginx为安装目录、运行Nginx的用户及用户组,还有几个常用的组件,这个都得根据自己的实际情况而定,我把Nginx状态 监控模块、正则模板、SSL模块等加入,方便后面使用。在这里再提下状态监控模块,可以让管理者轻松获取当前Nginx的运行情况,所以很有必要。当执行 完毕之后,会有以下摘要信息:

Configuration summary

+ using system PCRE library

+ using system OpenSSL library

+ md5: using OpenSSL library

+ sha1: using OpenSSL library

+ using system zlib library

 

nginx path prefix: “/apps/nginx”

nginx binary file: “/apps/nginx/sbin/nginx”

nginx configuration prefix: “/apps/nginx/conf”

nginx configuration file: “/apps/nginx/conf/nginx.conf”

nginx pid file: “/apps/nginx/logs/nginx.pid”

nginx error log file: “/apps/nginx/logs/error.log”

nginx http access log file: “/apps/nginx/logs/access.log”

nginx http client request body temporary files: “client_body_temp”

nginx http proxy temporary files: “proxy_temp”

nginx http fastcgi temporary files: “fastcgi_temp”

nginx http uwsgi temporary files: “uwsgi_temp”

nginx http scgi temporary files: “scgi_temp”

以上信息表明配置成功

# make //根据配置信息执行编译操作,这一步才会生成相关的二进制文件,但是生成的文件还是原来的目录里。

# make install //把所编译生成的文件,根据配置复制到对应的目录,如果没有的目录就会自动创建,完成这一步就算是编译OK了,接着可以测试下Nginx能否成功运行。

#/apps/nginx/sbin/nginx //执行此命令就可以启动Nginx了,只要用浏览器打开http://ip,就可以看到Welcome Nginx的介面。至此Nginx就算安装完成了。但还有另外新问题,中如何让Nginx开机启动呢?这个问题不难解决,写个脚本就行。

#vi /edt/init.d/nginx //创建名为nginx的脚本文件,输入以下内容,包括前边的#

#!/bin/sh
# www.5ishare.com
# nginx – this script starts and stops the nginx daemon
# chkconfig: – 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /apps/nginx/conf/nginx.conf
# pidfile: /apps/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ “$NETWORKING” = “no” ] && exit 0
nginx=”/apps/nginx/sbin/nginx”
NGINX_CONF_FILE=”/apps/nginx/conf/nginx.conf”
prog=$(basename $nginx)
lockfile=/tmp/nginx.pid
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $”Starting $prog: ”
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $”Stopping $prog: ”
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
sleep 1
start
}
reload() {
configtest || return $?
echo -n $”Reloading $prog: ”
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case “$1″ in
start)
rh_status_q && exit 0
$1 ;;

stop)
rh_status_q || exit 0
$1 ;;
restart|configtest)
$1 ;;
reload)
rh_status_q || exit 7
$1 ;;
force-reload)
force_reload ;;
status)
rh_status ;;
condrestart|try-restart)
rh_status_q || exit 0 ;;
*)
echo $”Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}”
exit 2
esac

chmod +x /etc/init.d/nginx //设置脚本为可执行

chkconfig nginx on //设置该名称的脚本为开机启动

这个脚本用法如下:

#services nginx start //启动服务

#services nginx stop //停止服务

#services nginx restart //重启服务

#services nginx reload //重新加载配置

start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest 是全部可用命令。

下一篇将介绍PHP的源码编译安装,敬请关注! 收工吃饭去~~

本文来源:我爱共享 http://www.5ishare.com 转载请注明出处,谢谢!!

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权, 转载请注明出处。
文章名称:《Centos6.2_(64位)服务器环境配置:源码编译Nginx》
文章链接:https://www.veidc.com/1356.html
【声明】:国外主机测评仅分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问国外主机测评,即表示您已经知晓并接受了此声明通告。
【关于安全】:任何 IDC商家都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。