ubuntu18下的nginx安裝

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

1.選定源碼目錄

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

cd /usr/local/src

2.安裝PCRE庫

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下載最新的 PCRE 源碼包,使用下面命令下載編譯和安裝 PCRE 包:(最好使用root用戶進行安裝)

cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz 
tar -zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make
make install

3.安裝zlib庫
http://zlib.net/zlib-1.2.8.tar.gz 下載最新的 zlib 源碼包,使用下面命令下載編譯和安裝 zlib包:

cd /usr/local/src

wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install
4.安裝openssl
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.2.1.tar.gz
tar -zxvf openssl-1.2.1.tar.gz
cd openssl-1.2.1
./config(注意) && make && make install
5.安裝nginx
cd /usr/local/src
wget http://nginx.org/download/nginx-1.7.1.tar.gz
tar -zxvf nginx-1.7.1.tar.gz
cd nginx-1.7.1

./configure --sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/usr/local/src/pcre-8.35 \
--with-zlib=/usr/local/src/zlib-1.2.8 \
--with-openssl=/usr/local/src/openssl-1.2.1

make
make install
--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庫是必需的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章