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

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

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

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

利用今天下班前剩下的一点空时间,再把Nginx部分也写出来。

记得上一篇文章的一些约定:下载的安装包存放的位置是/setup,目标软件指定安装目录:/apps。由于Nginx可以使用正则表达式来匹配访问路径,所以如果要正常使用这个函数,就必须安装Pcre库。如果你已经按照前面的 *** 作做了,就不需要考虑这一点了,因为这个库已经被添加到安装列表中了。现在你可以回顾一下这种生活秩序。它一次性安装了所有需要的库。

#yuminstallgccgcc-c++gcc-G77pcre-develOpenSSL-develbisonautoconfautomakemakecmakelibcurl-develGD-develzlib*fiex*libxml*ncurses-devellibmcrypt*libtool-ltdl-devel*

上面的命令可以大胆执行,如果安装的库会自动跳过,对系统没有副作用。Nginx如果能发挥重要作用,不仅可以做一个强大的反向代理服务器,还可以支持视频拖拽,比如FLV、MP4等主流网络视频格式。如果Nginx作为一个简单的视频服务器使用,就需要根据情况添加相关的编译参数,下面简单介绍一下,或者我单独写一篇关于Nginx作为视频服务器的相关文章。

别的不多说,言归正传。所有 *** 作都是针对Shell窗口的,以#开头,//是中文注释。执行的时候不要做。

#CD/安装

#wgethttp://nginx.org/download/nginx-1.2.8.tar.gz//nginx官网最新稳定版是1.2.8。

#groupaddwww//为了保证系统的安全性,新创建了一个Nginx的专用执行用户。现在,让我们用www来建立同名的用户组和对应的用户。

#useradd-gwww-s/sbin/nologin-mwww//创建一个名为www的用户并加入www用户组,禁止该用户登录shell。

#tarzxfnginx-1.2.8.tar.gz//Unzip文件,然后nginx-1.2.8目录会自动生成。

#cdnginx-1.2.8

#./configure–prefix=/apps/NGX–user=www–group=www–with-http_stub_status_module–with-http_SSL_module–with-http_realip_module–with-sha1-ASM//指定/apps/NGX是安装目录,运行nginx的用户和用户组,还有几个常用的组件,都得根据自己的实际情况确定。我添加了Nginx状态监控模块,常规模板,SSL模块等。以备后用。这里又提到了状态监控模块,方便管理者获取Nginx当前的运行情况,所以很有必要。执行完成后,将出现以下摘要信息:

配置摘要

+使用系统PCRE库

+使用系统OpenSSL库

+md5:使用OpenSSL库

+sha1:使用OpenSSL库

+使用系统zlib库

nginx路径前缀:"/apps/nginx"

nginx二进制文件:“/apps/nginx/sbin/nginx”

nginx配置前缀:"/apps/nginx/conf"

nginx配置文件:"/apps/nginx/conf/nginx.conf"

nginxpid文件:"/apps/nginx/logs/nginx.pid"

nginx错误日志文件:"/apps/nginx/logs/error.log"

nginxhttp访问日志文件:"/apps/nginx/logs/access.log"

nginxhttp客户端请求主体临时文件:“client_body_temp”

nginxhttp代理临时文件:“proxy_temp”

nginxhttpfastcgi临时文件:“fastcgi_temp”

nginxhttpuwsgi临时文件:“uwsgi_temp”

nginxhttpscgi临时文件:“scgi_temp”

以上信息表明配置成功。

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

#makeinstall//根据配置将编译好的文件复制到相应的目录下。如果没有目录,将自动创建。在这一步之后,它将被编译,然后你可以测试Nginx是否能成功运行。

#/apps/Nginx/sbin/nginx//执行此命令启动Nginx。只要用浏览器打开http://ip,就可以看到欢迎Nginx的界面。至此,Nginx安装完毕。但是还有其他新问题,如何让Nginx开机?这个问题不难解决,写个剧本就行了。

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

#!/bin/sh
#www.5ishare.com
#nginx–此脚本启动和停止nginx守护进程
#chkconfig:–8515
#描述:Nginx是HTTP(S)服务器、HTTP(S)反向
#代理和IMAP/POP3代理服务器

。/etc/RC.d/init.d/functions
#源网络配置。
。/etc/sysconfig/network
#检查网络是否正常。
["$NETWORKING"="no"]&;&exit0
NGINX="/apps/NGINX/sbin/NGINX"
NGINX_CONF_FILE="/apps/NGINX/conf/NGINX.conf"
Prog=$(basename$NGINX)
lockFILE=/tmp/NGINX.PID
start(){
[-x$NGINX
echo
[$retval-eq0]&;&touch$lockfile
return$retval
}
stop(){
echo-n$"停止$Prog:"
killproc$Prog-QUIT
retval=$?
echo
[$retval-eq0]&;&RM-f$lockfile
return$retval
}
restart(){
configtest||return$?
stop
sleep1
start
}
reload(){
configtest||return$?
echo-n$"重载$Prog:"
killproc$nginx-HUP
RETVAL=$?
echo
}
force_reload(){
restart
}
configtest(){
$NGINX-t-c$NGINX_CONF_FILE
}
RH_status(){[/br/dev/null2>;&1
}
case"$1"in
start)
RH_status_q&;&退出0
$1;;

stop)
RH_status_q||exit0
$1;;
restart|configtest)
$1;;
reload)
RH_status_q||exit7
$1;;
force-reload)
force_reload;;
status)
RH_status;;
condrestart|try-restart)
RH_status_q||exit0;;
*)
echo$"用法:$0{start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit2
esac

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

//将使用此名称的脚本设置为引导。

该脚本的用法如下:

#servicenginxstart//启动服务

#servicenginxstop//停止服务

#servicenginxrestart//重新启动服务

#servicenginxreload//重新加载配置

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

下一篇文章将介绍PHP的源代码编译和安装,敬请关注!今天到此为止,吃饭吧~~

来源:我喜欢分享http://www.5ishare.com。请注明出处。谢谢大家!!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/744777.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-29
下一篇 2022-04-29

发表评论

登录后才能评论

评论列表(0条)

保存