nginx安裝手冊

来源:https://www.cnblogs.com/poterliu/archive/2018/06/05/9142637.html
-Advertisement-
Play Games

版權聲明:本文為博主原創文章,未經博主允許不得轉載。 原文地址: https://www.cnblogs.com/poterliu/p/9142637.html 1 nginx安裝環境 nginx是C語言開發,建議在linux上運行,本教程使用Centos6.5作為安裝環境。 n gcc 安裝ngi ...


 

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

原文地址:

https://www.cnblogs.com/poterliu/p/9142637.html

 

1 nginx安裝環境

nginxC語言開發,建議在linux上運行,本教程使用Centos6.5作為安裝環境。

n gcc

安裝nginx需要先將官網下載的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要安裝gccyum install gcc-c++ 

n PCRE

PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 相容的正則表達式庫。nginxhttp模塊使用pcre來解析正則表達式,所以需要在linux上安裝pcre庫。

yum install -y pcre pcre-devel

註:pcre-devel是使用pcre開發的一個二次開發庫。nginx也需要此庫。

n zlib

zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlibhttp包的內容進行gzip,所以需要在linux上安裝zlib庫。

yum install -y zlib zlib-devel

 

n openssl

OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程式供測試或其它目的使用。

nginx不僅支持http協議,還支持https(即在ssl協議上傳輸http),所以需要在linux安裝openssl庫。

yum install -y openssl openssl-devel

 

2 編譯安裝

nginx-1.8.0.tar.gz拷貝至linux伺服器。

 

解壓:

tar -zxvf nginx-1.8.0.tar.gz

cd nginx-1.8.0

 

1、 configure

./configure --help查詢詳細參數(參考本教程附錄部分:nginx編譯參數)

 

參數設置如下:

./configure \

--prefix=/usr/local/nginx \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/temp/nginx/client \

--http-proxy-temp-path=/var/temp/nginx/proxy \

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \

--http-scgi-temp-path=/var/temp/nginx/scgi

 

 

註意:上邊將臨時文件目錄指定為/var/temp/nginx,需要在/var下創建tempnginx目錄

 

 

2、 編譯安裝

make

make  install

 

安裝成功查看安裝目錄 :

 

 

 

3 啟動nginx

修改 配置文件

 

 

cd /usr/local/nginx/sbin/

./nginx 

 

mkdir -p /var/temp/nginx/client

 

查詢nginx進程:

 

 

15098nginx主進程的進程id15099nginx工作進程的進程id

 

註意:執行./nginx啟動nginx,這裡可以-c指定載入的nginx配置文件,如下:

./nginx -c /usr/local/nginx/conf/nginx.conf

如果不指定-cnginx在啟動時預設載入conf/nginx.conf文件,此文件的地址也可以在編譯安裝nginx時指定./configure的參數(--conf-path= 指向配置文件(nginx.conf))

 

http://192.168.1.211/ 預設埠是80

 

4 停止nginx

方式1,快速停止:

cd /usr/local/nginx/sbin

./nginx -s stop

此方式相當於先查出nginx進程id再使用kill命令強制殺掉進程。

 

方式2,完整停止(建議使用)

cd /usr/local/nginx/sbin

./nginx -s quit

此方式停止步驟是待nginx進程處理任務完畢進行停止。

 

 

5 重啟nginx

方式1,先停止再啟動(建議使用):

nginx進行重啟相當於先停止nginx再啟動nginx,即先執行停止命令再執行啟動命令。

如下:

./nginx -s quit

./nginx

 

方式2,重新載入配置文件:

nginx的配置文件nginx.conf修改後,要想讓配置生效需要重啟nginx,使用-s reload不用先停止nginx再啟動nginx即可將配置信息在nginx中生效,如下:

./nginx -s reload

 

6 測試

nginx安裝成功,啟動nginx,即可訪問虛擬機上的nginx

 

 

到這說明nginx上安裝成功。

 

7 開機自啟動nginx

7.1 編寫shell腳本

這裡使用的是編寫shell腳本的方式來處理

 

vim /etc/init.d/nginx 

 (輸入下麵的代碼)

 

#!/bin/bash

# nginx Startup script for the Nginx HTTP Server

# it is v.0.0.2 version.

# chkconfig: - 85 15

# description: Nginx is a high-performance web and proxy server.

#              It has a lot of features, but it's not for everyone.

# processname: nginx

# pidfile: /var/run/nginx.pid

# config: /usr/local/nginx/conf/nginx.conf

nginxd=/usr/local/nginx/sbin/nginx

nginx_config=/usr/local/nginx/conf/nginx.conf

nginx_pid=/var/run/nginx.pid

RETVAL=0

prog="nginx"

# Source function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ ${NETWORKING} = "no" ] && exit 0

[ -x $nginxd ] || exit 0

# Start nginx daemons functions.

start() {

if [ -e $nginx_pid ];then

   echo "nginx already running...."

   exit 1

fi

   echo -n $"Starting $prog: "

   daemon $nginxd -c ${nginx_config}

   RETVAL=$?

   echo

   [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx

   return $RETVAL

}

# Stop nginx daemons functions.

stop() {

        echo -n $"Stopping $prog: "

        killproc $nginxd

        RETVAL=$?

        echo

        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid

}

# reload nginx service functions.

reload() {

    echo -n $"Reloading $prog: "

    #kill -HUP `cat ${nginx_pid}`

    killproc $nginxd -HUP

    RETVAL=$?

    echo

}

# See how we were called.

case "$1" in

start)

        start

        ;;

stop)

        stop

        ;;

reload)

        reload

        ;;

restart)

        stop

        start

        ;;

status)

        status $prog

        RETVAL=$?

        ;;

*)

        echo $"Usage: $prog {start|stop|restart|reload|status|help}"

        exit 1

esac

exit $RETVAL

 

 

 

  

:wq  保存並退出

 

7.2 設置文件的訪問許可權

 

chmod a+x /etc/init.d/nginx   (a+x ==> all user can execute  所有用戶可執行)

這樣在控制台就很容易的操作nginx了:查看Nginx當前狀態、啟動Nginx、停止Nginx、重啟Nginx

如果修改了nginx的配置文件nginx.conf,也可以使用上面的命令重新載入新的配置文件並運行,可以將此命令加入到rc.local文件中,這樣開機的時候nginx就預設啟動了

 

7.3 加入到rc.local文件中

vim /etc/rc.local

 

加入一行  

/etc/init.d/nginx start

保存並退出,下次重啟會生效。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在周末的一個早上,小白還在做著美夢,就收到了小美的連環追魂call,電話一直響個不停。 小白打著哈欠拿起電話:早上好美女。 小美:出事了出事了,我們公司網站一早訪問是一片空白,什麼內容都沒有了,你趕急上去看看是怎麼回事。 小白一聽到馬上緊張了起來,趕緊說:好的,我先看看,一會回電話給你。 小白說完趕 ...
  • 在很多項目的很多地方都發現了一個共同的術語 反射 有時候我在想這是個什麼東西,能幹啥。 這幾天靜下心來,好好地去翻了翻書,看了看別人的博客。 也自己比著寫了兩個泛型反射方法。還算理解了一小部分,寫個記錄。 上例子代碼: 這是通過反射工廠來創建實例: 這是將Datatable里的數據反射到LIst集合 ...
  • 這篇來看一下反射的使用吧!舉個例子! 舉例子,肯定需要一個類啦,先建一個學生例子類: 有三個屬性,Id,Name,Sex。一個欄位Status,還有一個方法Show. 嗯~,破費科特。 來看看反射的各個方法或屬性怎麼使用吧! 獲取類型的公用屬性的方法(GetProperties) 輸出結果為: 是不 ...
  • 用DataTables時併發訪問量較大,單個任務操作(獲取數據)時間較長。連接數過多的時候就出現InvalidOpertionException錯誤。知道哪裡有問題那就好辦了,對GetDataTable(string sql):DataTable方法用線程鎖 lock() ,這樣就不會出現上述問題。 ...
  • ASP.NET Core MVC中的Views是負責網頁顯示,將數據一併渲染至UI包含HTML、CSS等。並能痛過Razor語法在*.cshtml中寫渲染畫面的程式邏輯。本篇將介紹ASP.NET Core MVC的Views。 之前 ASP.NET Core 2 學習筆記(六)MVC 有稍微介紹到V ...
  • 預設情況下,在VisualStudio中開髮網站,會運行在IISExpress中,如果想把網站部署到本地的IIS伺服器上該怎麼辦呢? 一、首先,以管理員身份運行VisualStudio,否則在修改項目屬性時將彈出如下對話框,阻止我們修改伺服器為本地IIS。 然後,雙擊Properties圖標,打開W ...
  • Util是一個.net core平臺下的應用框架,旨在提升小型團隊的開發輸出能力。Util 自 NCC 創設之日起便已加入,作者低調朴素、持續更新,項目日趨成熟、追求完美,於 2018 年 5 月成為 NCC 第二個星數破千的項目,值得祝賀,特發此文。 ...
  • 關於Windows 的安裝光碟版本很多種,很多人不知道選擇哪些。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...