ubuntu18下的nginx安裝

2021-06-29 04:14:41 字數 3936 閱讀 9086

在安裝nginx時,一般我們都需要先裝pcre, zlib以及openssl,前者為了重寫rewrite,後者為了gzip壓縮,openssl可以支援https協議。

1.選定原始碼目錄

可以是任何目錄,本文選定的是/usr/local/src

cd /usr/local/src
2.安裝pcre庫

cd /usr/local/src

wget

tar -zxvf pcre-8.35.tar.gz

cd pcre-8.35

./configure

make

make install

3.安裝zlib庫

cd /usr/local/src

wget

tar -zxvf zlib-1.2.8.tar.gz

cd zlib-1.2.8

./configure

make

make install

4.安裝openssl
cd /usr/local/src

wget

tar -zxvf openssl-1.2.1.tar.gz

cd openssl-1.2.1

./config(注意) && make && make install

5.安裝nginx
cd /usr/local/src

--with-pcre=/usr/src/pcre-8.35 指的是pcre-8.35 的原始碼路徑

--with-zlib=/usr/src/zlib-1.2.8 指的是zlib-1.2.8 的原始碼路徑

--with-openssl=/usr/local/src/openssl-1.2.1 指的是openssl的原始碼路徑

6. 啟動nginx

/usr/local/nginx/nginx #不指定配置檔案位址
/usr/local/nginx/nginx -c /usr/local/nginx/nginx.conf #指定配置檔案位址
預設情況下會使用80埠,所以我們要確保系統的 80 埠沒被其他程式占用;萬一已經被其他程式占用的話,可以通過修改cong/nginx.conf將預設的監聽埠由80修改為其它,如8080。執行/usr/local/nginx/nginx 命令來啟動 nginx,啟動後ps -aux|grep nginx檢視,master和work程序是否都已經啟動。netstat -anp|grep 80看80埠是否被nginx監聽。        若都正常,則可

開啟瀏覽器訪問此機器的ip,如192.168.1.101/index.html,如果瀏覽器出現 welcome to nginx! 則表示 nginx 已經安裝並執行成功。

當然,我們也可以修改配置檔案指定網域名稱,如:

6. 停止nginx

sudo kill `cat /usr/local/nginx/nginx.pid`

其實就是kill掉master程序而已

附:

nginx編譯選項

make是用來編譯的,它從makefile中讀取指令,然後編譯。

make install是用來安裝的,它也從makefile中讀取指令,安裝到指定的位置。

configure命令是用來檢測你的安裝平台的目標特徵的。它定義了系統的各個方面,包括nginx的被允許使用的連線處理的方法,比如它會檢測你是不是有cc或gcc,並不是需要cc或gcc,它是個shell指令碼,執行結束時,它會建立乙個makefile檔案。nginx的configure命令支援以下引數:

--prefix=path    定義乙個目錄,存放伺服器上的檔案 ,也就是nginx的安裝目錄。預設使用 /usr/local/nginx。

--sbin-path=path 設定nginx的可執行檔案的路徑,預設為  prefix/sbin/nginx.

--conf-path=path  設定在nginx.conf配置檔案的路徑。nginx允許使用不同的配置檔案啟動,通過命令列中的-c選項。預設為prefix/conf/nginx.conf.

--pid-path=path  設定nginx.pid檔案,將儲存的主程序的程序號。安裝完成後,可以隨時改變的檔名 , 在nginx.conf配置檔案中使用 pid指令。預設情況下,檔名 為prefix/logs/nginx.pid.

--error-log-path=path 設定主錯誤,警告,和診斷檔案的名稱。安裝完成後,可以隨時改變的檔名 ,在nginx.conf配置檔案中 使用 的error_log指令。預設情況下,檔名 為prefix/logs/error.log.

--http-log-path=path  設定主請求的http伺服器的日誌檔案的名稱。安裝完成後,可以隨時改變的檔名 ,在nginx.conf配置檔案中 使用 的access_log指令。預設情況下,檔名 為prefix/logs/access.log.

--user=name  設定nginx工作程序的使用者。安裝完成後,可以隨時更改的名稱在nginx.conf配置檔案中 使用的 user指令。預設的使用者名稱是nobody。

--group=name  設定nginx工作程序的使用者組。安裝完成後,可以隨時更改的名稱在nginx.conf配置檔案中 使用的 user指令。預設的為非特權使用者。

--with-select_module --without-select_module 啟用或禁用構建乙個模組來允許伺服器使用select()方法。該模組將自動建立,如果平台不支援的kqueue,epoll,rtsig或/dev/poll。

--with-poll_module --without-poll_module 啟用或禁用構建乙個模組來允許伺服器使用poll()方法。該模組將自動建立,如果平台不支援的kqueue,epoll,rtsig或/dev/poll。

--without-http_gzip_module — 不編譯壓縮的http伺服器的響應模組。編譯並執行此模組需要zlib庫。

--without-http_rewrite_module  不編譯重寫模組。編譯並執行此模組需要pcre庫支援。

--without-http_proxy_module — 不編譯http_proxy模組。

--with-http_ssl_module — 使用https協議模組。預設情況下,該模組沒有被構建。建立並執行此模組的openssl庫是必需的。

ubuntu 18 編譯安裝 nginx

1,安裝依賴 apt get install gcc apt get install libpcre3 libpcre3 dev apt get install zlib1g zlib1g dev ubuntu14.04的倉庫中沒有發現openssl dev,由下面openssl和libssl de...

Ubuntu18下使用Valgrind工具

專案有一塊很小的記憶體洩露,但一直找不到原因 只能借助工具來定位問題。apt get install valgrind 首先生成乙個可執行檔案的demo,內部不能有死迴圈。用以下命令,可以在當前目錄下生成乙個log.txt檔案 usr bin valgrind tool memcheck leak ...

Ubuntu18實驗烤烤

參考 進行安裝。開啟乙個終端 ctrl alt t 依次輸入以下命令 sudo sh c echo deb lsb release sc main etc apt sources.list.d ros latest.list sudo apt key adv keyserver hkp recv k...