源碼編譯安裝Nginx

1.源碼下載

Nginx在github上有一個只讀源碼庫,我獲取的源碼方式為:

git clone https://github.com/nginx/nginx.git

2.configure

我下載源碼的時候,github上的源碼的目錄結構為: auto, conf, contrib, docs, misc, src共6個目錄。src目錄是源代碼文件,docs下面是幫助文檔, conf下面是一些配置文件, auto下面有configure文件,由于configure文件會應用 auto/options, auto/init, auto/sources等文件,所以在運行./configure之前要把configure文件拷貝到auto目錄的父目錄下。

cd ./nginx
cp ./auto/configure .
./configure

3.編譯安裝

make
sudo make install

默認安裝后nginx位于/usr/local/nginx/目錄下,nginx的配置文件在/usr/local/nginx/conf/nginx.conf文件,我在測試時,默認的服務器監聽端口是80,可以根據自己的需要修改端口,例如我將端口修改為8000。

4.Nginx基本信息檢查

檢查配置文件的正確性:

/usr/local/nginx/sbin/nginx -t 或者
/usr/local/nginx/sbin/nginx -t -c /urs/local/nginx/conf/nginx.conf

其中,-t 參數用于檢查配置文件是否正確,但并不執行。 -c參數用于指定配置文件的路徑。如果不指定文件路徑,nginx默認會在安裝時指定的安裝目錄下查找conf/nginx.conf配置文件。
如果檢測的配置文件正確。顯示的結果如下:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

顯示Nginx版本及相關編譯信息

要查看Nginx的版本信息可以運行:

#/usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.11.4
#

如果不僅是要顯示Nginx的版本信息,還要現實nginx在編譯時指定的相關模塊信息,可以:

#/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.11.4
built by gcc 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
configure arguments:
#

Nginx的啟動、關閉與重啟

Nginx對進程的控制能力非常強大,可以通過信號來控制進程。常用的信號有:

QUIT,表示處理完當前請求后,關閉進程
HUP,表示重新加載配置,也就是關閉原有的進程,并啟動新的工作進程。此操作不會中斷用戶的訪問請求。因此,可以通過此信號平滑的重啟Nginx。
USR1,用于Nginx的日志切換,也就是重新打開一個日志文件,例如每天要生成一個新的日志文件時,可以使用這個信號來控制。
USR2,用于平滑升級可執行程序。
WINCH,從容關閉工作進程。

Nginx的啟動

Nginx的啟動比較簡單

#/usr/local/nginx/sbin/nginx

即可啟動Nginx。啟動后可以通過如下命令查看Nginx的啟動進程:

#ps -ef | grep nginx
root 9725 1 0 16:40 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 9916 9725 0 16:47 ? 00:00:00 nginx: worker process
root 10421 10229 0 17:44 pts/3 00:00:00 grep –color=auto nginx
#

Nginx的關閉

如果要關閉Nginx的進程,可以使用kill命令。
kill -XXX pid
其中,-XXX就是信號名, pid是Nginx的進程號,可以通過如下兩個命令獲得:

#ps -ef | grep “nginx: master process”| grep -v “grep”| awk ‘{print $2}’
9725
#
或者:
#cat /usr/local/nginx/logs/nginx.pid
9725
#

Nginx的平滑重啟

要不間斷服務地重新啟動Nginx,可以使用如下命令:

#kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

參考文檔:www.educity.cn/linux/1147279.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/274075.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/274075.shtml
英文地址,請注明出處:http://en.pswp.cn/news/274075.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SOAP協議初級指南(2)

目前的技術存在的問題?   盡管DCOM和IIOP都是固定的協議,業界還沒有完全轉向其中任何一個協議。沒有融合的部分原因是文化的問題所致。而且在當一些組織試圖標準化一個或另一個協議的時候,兩個協議的技術適用性就被提出質疑。傳統上認為DC…

JavaScript 第四課 案例研究:JavaScript圖片庫

主要內容:編寫一個優秀的標記文件編寫一個JavaScript函數以顯示用戶想要查看的內容由標記出發函數調用使用幾個新方法擴展這個JavaScript函數 學習過DOM,我們用JavaScript和DOM去建立一個圖片庫。最好的辦法是什么呢? 利用JavaScript來建立圖…

windows下mongodb安裝與使用整理

一、首先安裝mongodb 1.下載地址:http://www.mongodb.org/downloads 2.解壓縮到自己想要安裝的目錄,比如d:\mongodb 3.創建文件夾d:\mongodb\data\db、d:\mongodb\data\log,分別用來安裝db和日志文件,在log文件夾下創建一個日志文…

可變參數列表(va_list,va_arg,va_copy,va_start,va_end)

本文轉自:http://blog.csdn.net/costa100/article/details/5787068 va_list arg_ptr:定義一個指向個數可變的參數列表指針;      va_start(arg_ptr, argN):使參數列表指針arg_ptr指向函數參數列表中的第一個可選參數,說明&…

src與href屬性的區別

src和href之間存在區別,能混淆使用。src用于替換當前元素,href用于在當前文檔和引用資源之間確立聯系。 src是source的縮寫,指向外部資源的位置,指向的內容將會嵌入到文檔中當前標簽所在位置;在請求src資源時會將其指向…

USACO4.12Beef McNuggets(背包+數論)

昨天晚上寫的一題 結果USACO一直掛中 今天交了下 有一點點的數論知識 背包很好想 就是不好確定上界 官方題解: 這是一個背包問題。一般使用動態規劃求解。 一種具體的實現是:用一個線性表儲存所有的節點是否可以相加得到的狀態,然后每次可以…

Java 循環語句中 break,continue,return有什么區別?

break 結束循環,跳出循環體,進行后面的程序;continue 結束本次循環,進行下次循環;return 跳出循環體所在的方法,相當于結束該方法; 例子: public class whiletrueTest{public static void main(String[] args) {heihei();haha();…

Epoll模型詳解

轉自http://blog.163.com/huchengsz126/blog/static/73483745201181824629285/ Linux 2.6內核中提高網絡I/O性能的新方法-epoll I/O多路復用技術在比較多的TCP網絡服務器中有使用,即比較多的用到select函數。 1、為什么select落后 首先,在Linux內核中…

運算放大器單電源應用中的使用齊納二極管偏置方法

運算放大器單電源應用中的偏置方法除了使用大電阻使運放輸出達到電源電壓的一半外,還有使用齊納二極管(穩壓管)方法也能得到達到應用目的。 下面就推薦幾個齊納二極管(分別對應著電源電壓是15V,12V,9V;5V) …

Java——demo之仿ATM操作

java.util.Scanner類,這是一個用于掃描輸入文本的新的實用程序。其中nextInt()獲取String型,而next()獲取int、double型。這是一個仿ATM的小程序。 實現條件 1.登陸界面,2.三次登陸機會,登陸成功進入登陸菜單,3&#x…

dpi 、 dip 、分辨率、屏幕尺寸、px、density 關系以及換算

本文轉自:http://www.cnblogs.com/yaozhongxiao/archive/2014/07/14/3842908.html 一、基本概念 dip : Density independent pixels ,設備無關像素。 dp :就是dip px : 像素 dpi &#xf…

Ninject使用demo

public class HomeController : Controller{public ActionResult Index(){ //核心對象IKernel ninjectKernel new StandardKernel();ninjectKernel.Bind<IValueCaculator>().To<LinqValueCalcalator>(); //方案1&#xff1a;獲取接口實例IV…

Java 集合中關于Iterator 和ListIterator的詳解

1.Iterator Iterator的定義如下&#xff1a;public interface Iterator<E> {}Iterator是一個接口&#xff0c;它是集合的迭代器。集合可以通過Iterator去遍歷集合中的元素。Iterator提供的API接口如下&#xff1a;forEachRemaining(Consumer<? super E> action)&a…

使用xrandr和cvt命令添加自定義的分辨率模式

可以使用xrandr -q命令查看當前支持的分辨率模式: 如果過沒有你想要的分辨率模式,則需要自己創建新的分辨率模式,例如,我想要創建800x750的分辨率模式,步驟如下: 1.使用cvt命令創建新的分辨率: 2.使用xrandr –newmode modeline信息(CVT命令產生的結果)創建新的mode: $xra…

Java List集合

我們先看一下jdk1.9對其的描述&#xff1a;什么是List&#xff0c;也就是一個有序集合(序列)。1.List接口 List集合代表一個有序集合&#xff0c;集合中每個元素都有其對應的順序索引。List集合允許使用重復元素&#xff0c;可以通過索引來訪問指定位置的集合元素。 List接口繼…

winform錯誤提示 :窗口類名無效(Window class name is not valid)

winfrom 程序在 xp 操作系統上報錯提示 窗口類名無效(Window class name is not valid) 解決方法 注釋 Program類 里 這句 Application.EnableVisualStyles(); 解決轉載于:https://www.cnblogs.com/z_lb/p/3288850.html

如何在linux下通過ssh運行X圖形軟件

服務器端&#xff1a;編輯/etc/ssh/sshd_config中的以下內容 啟用AllowTcpForwarding 啟用X11Forwarding 將X11DisplayOffset設定為10. 啟用X11UseLocalhost 客戶機端&#xff1a;編輯/etc/ssh/ssh_config中的以下內容 啟用X11Forwarding 連接時ssh -X或者ssh -Y就可以了…

Java Set集合

Set接口什么是Set&#xff0c;就是不包含重復元素的集合。Set是一種不包括重復元素的Collection。它維持它自己的內部排序&#xff0c;所以隨機訪問沒有任何意義。與List一樣&#xff0c;它同樣允許null的存在但是僅有一個。由于Set接口的特殊性&#xff0c;所有傳入Set集合中的…

linux下制作win7安裝U盤

轉自:http://blog.csdn.net/pipisorry/article/details/41369821 http://blog.csdn.net/pipisorry/article/details/41369821 已裝Linux&#xff0c;再用U盤安裝win7(網絡安裝應該也可以)&#xff0c; 先要在linux里面制作一個win7安裝U盤&#xff08;windows下用ultraiso制…

Java Map集合

Map集合&#xff1a;Map接口Map與List、Set接口不同&#xff0c;它是由一系列鍵值對組成的集合&#xff0c;提供了key到Value的映射。同時它也沒有繼承Collection。在Map中它保證了key與value之間的一一對應關系。也就是說一個key對應一個value&#xff0c;所以它不能存在相同的…