请选择 进入手机版 | 继续访问电脑版
查看: 1138|回复: 0

[其它] CentOS编译安装Nginx

[复制链接]
发表于 2018-10-14 20:47:59 | 显示全部楼层 |阅读模式
什么是Nginx?
[backcolor=rgba(0, 0, 0, 0.15)]Nginx (engine x) 不仅是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
说白了,如果想要让一个网站在服务器上跑起来,就必须安装Web服务的软件。Nginx也同时支持Windows系统。
Nginx因为是开源的,因此除了官方的版本之外,也有两个衍生版本。前者是国内最大的购物网站淘宝开发的项目,后者是基于Nginx与Lua的高性能Web平台,主要由OpenResty团队自主开发,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。
开始动手吧
[backcolor=rgba(0, 0, 0, 0.15)]在这里以CentOS7.4和Nginx1.14为例。
[backcolor=rgba(0, 0, 0, 0.15)]1、更新系统
yum -y updateyum -y upgrade
[backcolor=rgba(0, 0, 0, 0.15)]2、添加运行nginx服务进程的用户
groupadd -r nginx    useradd -r -g nginx  nginx
[backcolor=rgba(0, 0, 0, 0.15)]3、安装编译所需的软件
yum groupinstall "Development tools"yum -y install gcc wget gcc-c++ automake autoconf libtool libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed pcre-devel openssl-devel
[backcolor=rgba(0, 0, 0, 0.15)]4、下载源码并解压
cd /home     
[backcolor=rgba(0, 0, 0, 0.15)]5、开始编译
[backcolor=rgba(0, 0, 0, 0.15)]选择需要编译的模块,先不管什么意思,也不知道以后用不用的上,就都一起编译了。
./configure \--prefix=/usr/local/nginx \--sbin-path=/usr/sbin/nginx \--conf-path=/etc/nginx/nginx.conf \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--pid-path=/var/run/nginx.pid \--lock-path=/var/run/nginx.lock \--http-client-body-temp-path=/var/tmp/nginx/client \--http-proxy-temp-path=/var/tmp/nginx/proxy \--http-fastcgi-temp-path=/var/tmp/nginx/fcgi \--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \--http-scgi-temp-path=/var/tmp/nginx/scgi \--user=nginx \--group=nginx \--with-pcre \--with-http_v2_module \--with-http_ssl_module \--with-http_realip_module \--with-http_addition_module \--with-http_sub_module \--with-http_dav_module \--with-http_flv_module \--with-http_mp4_module \--with-http_gunzip_module \--with-http_gzip_static_module \--with-http_random_index_module \--with-http_secure_link_module \--with-http_stub_status_module \--with-http_auth_request_module \--with-mail \--with-mail_ssl_module \--with-file-aio \--with-ipv6 \--with-http_v2_module \--with-threads \--with-stream \--with-stream_ssl_modulemake && make installmkdir -pv /var/tmp/nginx/client
[backcolor=rgba(0, 0, 0, 0.15)]6、添加SysV启动脚本
nano /etc/init.d/nginx
[backcolor=rgba(0, 0, 0, 0.15)]添加以下内容
#!/bin/sh # # 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:      /etc/nginx/nginx.conf # config:      /etc/sysconfig/nginx # pidfile:     /var/run/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 0nginx="/usr/sbin/nginx"prog=$(basename $nginx)NGINX_CONF_FILE="/etc/nginx/nginx.conf"[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginxlockfile=/var/lock/subsys/nginxstart() {    [ -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 $retvalkillall -9 nginx}restart() {    configtest || return $?    stop    sleep 1    start}reload() {    configtest || return $?    echo -n $"Reloading $prog: "     killproc $nginx -HUPRETVAL=$?    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 2esac
[backcolor=rgba(0, 0, 0, 0.15)]7、赋予脚本执行权限
chmod +x /etc/init.d/nginx
[backcolor=rgba(0, 0, 0, 0.15)]8、添加至服务管理列表,设置开机自启
chkconfig --add nginxchkconfig  nginx on
[backcolor=rgba(0, 0, 0, 0.15)]9、启动Nginx
service nginx start
[backcolor=rgba(0, 0, 0, 0.15)]然后访问下服务器,如果可以正常显示Nginx的欢迎页面则安装成功。
Nginx编译参数详解
[backcolor=rgba(0, 0, 0, 0.15)]在刚刚编译的时候,./configure的后面一大串估计看了都会一头雾水,所以就搬一篇关于编译参数的详解文章。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|Baidu Inc.

GMT+8, 2019-11-21 06:19 , Processed in 0.123791 second(s), 9 queries .

Powered by Discuz! X3.2

© 2001-2011 Comsenz Inc.

返回顶部