1. 程式人生 > >編譯安裝nginx並修改版本頭資訊

編譯安裝nginx並修改版本頭資訊

今天做實驗的時候,想起我那臺yum安裝的nginx+php-fpm+mysql伺服器上的nginx版本有點低了,並且還要加兩個第3方模組,就去nginx官網下載了最新穩定版nginx-1.0.6,好了,廢話不多說看教程吧.
  系統版本: centos 5.6
  ip: 192.168.1.200
  需要的軟體包:nginx-1.0.6.tar.gz Nginx-accesskey-2.0.3.tar.gz ngx_cache_purge-1.3.tar.gz(這3個包可以自己去下載,我就不提供了)

1.解壓並修改nginx核心
tar zxf nginx-1.0.6.tar.gz && tar zxf Nginx-accesskey-2.0.3.tar.gz && tar zxf Nginx-accesskey-2.0.3.tar.gz
cd nginx-1.0.6
vi src/http/ngx_http_header_filter_module.c
修改ngx_http_header_filter_module.c裡的
static char ngx_http_server_string[] = "Server: nginx" CRLF;
static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
改成:
static char ngx_http_server_string[] = "Server: tws" CRLF;
static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF; (這行不要去改,不然後面編譯會報錯,我不知道網上其他人是怎麼處理的,也不知道他們到底有沒有親手試過)

再來
vi src/core/nginx.h

點選檢視原圖


改為

點選檢視原圖



2.開始編譯安裝nginx和第3方模組
./configure --user=nginx --group=nginx --add-module=../ngx_cache_purge-1.3 --add-module=../nginx-accesskey-2.0.3  --prefix=/usr/share/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 --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --with-http_secure_link_module --with-http_random_index_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_gzip_static_module --with-http_stub_status_module --with-http_perl_module --with-http_geoip_module --with-mail --with-mail_ssl_module

這是我的編譯引數,當然你可以根據自己的需要來修改.

如果編譯安裝出現錯誤提示,那就你要執行下面的語句
yum -y install pcre-devel GeoIP* openssl-devel

configure完後如果沒有報錯,就執行
make && meke install
安裝完後檢視nginx的版本號和編譯引數

點選檢視原圖


我這裡沒有把下面編譯引數截圖,這個你懂的

3.讓nginx隨系統啟動
cd /etc/rc.d/init.d
vi nginx
nginx的內容:

#!/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 0

nginx="/usr/sbin/nginx"
prog=$(basename $nginx)

NGINX_CONF_FILE="/etc/nginx/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

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 -TERM
    retval=$?
    if [ $retval -eq 0 ]; then
        if [ "$CONSOLETYPE" != "serial" ]; then
           echo -en "\\033[16G"
        fi
        while rh_status_q
        do
            sleep 1
            echo -n $"."
        done
        rm -f $lockfile
    fi
    echo
    return $retval
}

restart() {
    configtest || return $?
    stop
    start
}

reload() {
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $nginx -HUP
    sleep 1
    RETVAL=$?
    echo
}

configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

# Upgrade the binary with no downtime.
upgrade() {
    local pidfile="/var/run/${prog}.pid"
    local oldbin_pidfile="${pidfile}.oldbin"

    configtest || return $?
    echo -n $"Staring new master $prog: "
    killproc $nginx -USR2
    sleep 1
    retval=$?
    echo 
    if [[ -f ${oldbin_pidfile} && -f ${pidfile} ]];  then
        echo -n $"Graceful shutdown of old $prog: "
        killproc -p ${oldbin_pidfile} -TERM
        sleep 1
        retval=$?
        echo 
        return 0
    else
        echo $"Something bad happened, manual intervention required, maybe restart?"
        return 1
    fi
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    force-reload|upgrade) 
        rh_status_q || exit 7
        upgrade
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    status|status_q)
        rh_$1
        ;;
    condrestart|try-restart)
        rh_status_q || exit 7
        restart
        ;;
    *)
        echo $"Usage: $0 {start|stop|reload|configtest|status|force-reload|upgrade|restart}"
        exit 2
esac

 

然後執行
chmod a+x nginx
chkconfig --add nginx
chkconfig nginx on
service nginx start

最後執行
curl -I http://localhost

點選檢視原圖

相關推薦

編譯安裝nginx修改版本資訊

今天做實驗的時候,想起我那臺yum安裝的nginx+php-fpm+mysql伺服器上的nginx版本有點低了,並且還要加兩個第3方模組,就去nginx官網下載了最新穩定版nginx-1.0.6,好了,廢話不多說看教程吧.   系統版本: centos 5.6   ip:

編譯安裝nginx實現反向代理負載均衡和快取功能

一、編譯安裝nginx 1、下載 [[email protected] ~]# wget http://nginx.org/download/nginx-1.10.0.tar.gz 2、解壓 [[email protected] ~]#&

開發人員學Linux(5):CentOS7編譯安裝Nginx搭建Tomcat負載均衡環境

1.前言在上一篇講述了JMeter的使用,在本篇就可以應用得上了。本篇將講述如何編譯安裝Nginx並利用前面的介紹搭建一個負載均衡測試環境。2.軟體準備Nginx-1.12.0,下載地址:https://nginx.org/download/nginx-1.12.0.tar.

centos中編譯安裝nginx支援ssl

安裝編譯環境和必要的庫 [root@localhost ~]# yum -y install gcc gcc-c++ autoconf automake libtool make cmake [root@localhost ~]# yum -y install

Linux之Nginx原始碼編譯安裝實現Nginx版本升級,秒級切換和Nginx版本回滾,秒級回退

Linux之Nginx原始碼編譯安裝,並實現Nginx版本升級,秒級切換和Nginx版本回滾,秒級回退 1、先檢查Nginx依賴庫(主要4個gcc、pcre、zlib、openssl,通過yum安裝) 2、GCC——GNU編譯器集合(GCC可以使用預設包管理器的倉庫(reposito

CentOS 7 安裝 Nginx修改伺服器版本資訊

開發十年,就只剩下這套架構體系了! >>>   

RedHat 7 編譯安裝Nginx 1.12配置WEB站點

nginx WEB 一、安裝環境1、操作系統版本:Red Hat Enterprise Linux Server release 7.2 (Maipo)2、Nginx版本:nginx-1.12.2.tar.gz3、pcre版本:pcre-8.42.tar.gz4、zlib版本:zlib-1.2.11.

編譯安裝Nginx

linux nginx1.查看系統環境:[[email protected]/* */ html]#cat /etc/redhat-releaseCentOS Linux release 7.2.1511 (Core) [[email protected]/* */ html]# u

編譯安裝nginx卻requires the PCRE library

http erro con pat with class -- configure rom 編譯安裝nginx需要pcre包,未安裝會有如下提示: ./configure: error: the HTTP rewrite module requires the PCRE

centos中編譯安裝nginx+mysql +php(未完)

net conf ftw tar 解壓 ocs org sql nbsp 參考地址:http://www.cnblogs.com/htian/p/5728599.html 去官網找到PCRE,並下載http://www.pcre.org/wget ftp://ftp.csx

php5.4編譯安裝--nginx

啟動腳本 創建用戶 php5 開啟 安裝目錄 art oot php-fpm 文件 1、下載源碼包 wget 網址/源碼包2、解壓源碼包 tar -zxvf 源碼包3、創建一個安裝目錄 mkdir /usr/local/php4、進入解壓後的目錄中

centos6.5編譯安裝nginx

php 相關 oca module eve tar 瀏覽器 reat nss 一、下載nginx安裝包,官網下載中心http://nginx.org/download [[email protected] software]# wget http://nginx

在centos6上編譯安裝httpd-2.4版本

手動編譯 httpd-2.4 前言:APR(Apache portable Run-time libraries,Apache可移植 運行庫) 主要為上層的應用程序提供一個可以跨越多操作系統 平臺使用的底層支持接口庫。在早期的Apache版本中,應用 程序本身必須能夠處理各種具體操作系統平臺的細節,並

在CentOS 7.2上編譯安裝Nginx 1.13.6

創建 ont uname group with pen 還需 www stub 第一個裏程碑 --- 檢查軟件安裝的系統環境 [root@rainjin ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (

Linux 編譯安裝Nginx

nginx 編譯安裝Linux編譯安裝nginx 背景: 學習nginx之前需要先會安裝nginx,這裏記錄下如何編譯安裝nginx,為以後復習使用。 PS:沒有特殊的需求,最好使用yum安裝,yum安裝需要配epel的yum源。 官方yum源地址: http://ngi

centos7.4編譯安裝nginx

編譯 nginx前言 nginx作為後起之秀,最然目前市場份額現在遠不足apache,但是從增長速度和發展前景來看,nginx是未來的趨勢。具體數據可以參考https://www.netcraft.com/。截至到寫博客的時間,全球的web server的占用率參考下圖,可以看出明顯的趨勢。nginx的

linux環境手動編譯安裝Nginx實踐過程 附異常解決

ima 根據 目錄結構 key -a text 參數 文件中 修改 1、下載nginx源碼包並解壓      可在http://nginx.org/en/download.html下載.tar.gz的源碼包,如(nginx-1.4.7.tar.gz) 或者使用雲盤下載

編譯安裝 nginx的http_stub_status_module監控其運行狀態

訪問量 tle bak 8.0 soft -h 數據說明 lnmp pts 編譯安裝 nginx的http_stub_status_module監控其運行狀態 從nginx升級(平滑升級)開始說起: 1)# rm -rf nginx-1.8.0 //刪掉原來的n

docker 安裝nginx掛載配置文件和www目錄以及日誌目錄

gin bsp 恢復 容器 名稱 內容 文件 etc dock ---恢復內容開始--- 一 首先 docker pull nginx 二 docker run --name myNginx -d -p 80:80 -v e:/docker/nginx/www

在centos 7中安裝nginx配置nginx反向代理

nginx linux proxy 反向代理 Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。其特點是占有內存少,並發能力強,事實上nginx的並發能力確實在同類型的網頁服務器中表現較好,中國大陸使用ngi