1. 程式人生 > >Ubuntu 安裝nginx

Ubuntu 安裝nginx

linux安裝nginx需要先安裝 openssl zlib pcre等,關於openssl以及zlib的安裝可以參考我的另一篇部落格《redis叢集配置》下面直接介紹 pcre的安裝和nginx的安裝
PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 相容的正則表示式庫。nginx的http模組使用pcre來解析正則表示式,所以需要在linux上安裝pcre庫,這裡通過pcre的原始碼來安裝
首先下載pcre的原始碼,下載地址點選here,在這裡我的為8.31版本
將pcre-8.3..tar.gz放到/usr/pcre/目錄解壓進入解壓目錄執行./configure –enable-utf8(注意enable前面有兩個-) 關於configure 的引數可以執行./configure -help檢視,

執行./configure –enable-utf8 部分編譯程式碼如下

pcre-8.31 configuration summary:

    Install prefix .................. : /usr/local
    C preprocessor .................. : gcc -E
    C compiler ...................... : gcc
    C++ preprocessor ................ : g++ -E
    C++ compiler .................... : g++
    Linker .......................... : /usr/bin/ld -m elf_x86_64
    C preprocessor flags ............ : 
    C compiler flags ................ : -O2
    C++ compiler flags .............. : -O2
    Linker flags .................... : 
    Extra libraries ................. : 

    Build 8
bit pcre library ........ : yes Build 16 bit pcre library ....... : no Build C++ library ............... : yes Enable JIT compiling support .... : no Enable UTF-8/16 support ......... : yes Unicode properties .............. : no Newline char/sequence ........... : lf \R matches only ANYCRLF ......... : no
EBCDIC coding ................... : no Rebuild char tables ............. : no Use stack recursion ............. : yes POSIX mem threshold ............. : 10 Internal link size .............. : 2 Match limit ..................... : 10000000 Match limit recursion ........... : MATCH_LIMIT Build shared libs ............... : yes Build static libs ............... : yes Use JIT in pcregrep ............. : no Buffer size for pcregrep ........ : 20480 Link pcregrep with libz ......... : no Link pcregrep with libbz2 ....... : no Link pcretest with libedit ...... : no Link pcretest with libreadline .. : no root@ubuntu:/usr/pcre/pcre-8.31#

注意如果沒有安裝 g++,編譯部分如下 可以發現沒有c++ preprocessor 和c++copiler,接著執行make 就會報錯:libtool: compile: unrecognized option `-DHAVE_CONFIG_H

 C++ preprocessor ................ :
 C++ compiler .................... : 

一般情況下Ubuntu 預設裝有gcc但是沒有g++關於g++的安裝可以參考我的另外一篇部落格Ubuntu安裝g++
執行make指令

root@ubuntu:/usr/pcre/pcre-8.31# make
rm -f pcre_chartables.c
ln -s ./pcre_chartables.c.dist pcre_chartables.c
make  all-am
make[1]: Entering directory `/usr/pcre/pcre-8.31'
  CC     pcre_byte_order.lo
  CC     pcre_compile.lo
  CC     pcre_config.lo
  CC     pcre_dfa_exec.lo
  CC     pcre_exec.lo
  CC     pcre_fullinfo.lo
  CC     pcre_get.lo
  CC     pcre_globals.lo
  CC     pcre_jit_compile.lo
  CC     pcre_maketables.lo
  CC     pcre_newline.lo
  CC     pcre_ord2utf8.lo
  CC     pcre_refcount.lo
  CC     pcre_string_utils.lo
  CC     pcre_study.lo
  CC     pcre_tables.lo
  CC     pcre_ucd.lo
  CC     pcre_valid_utf8.lo
  CC     pcre_version.lo
  CC     pcre_xclass.lo
  CC     pcre_chartables.lo
  CCLD   libpcre.la
  CC     pcreposix.lo
  CCLD   libpcreposix.la
  CXX    pcrecpp.lo
  CXX    pcre_scanner.lo
  CXX    pcre_stringpiece.lo
  CXXLD  libpcrecpp.la
  CC     pcretest.o
  CC     pcre_printint.o
  CCLD   pcretest
  CC     pcregrep.o
  CCLD   pcregrep
  CXX    pcrecpp_unittest.o
  CXXLD  pcrecpp_unittest
  CXX    pcre_scanner_unittest.o
  CXXLD  pcre_scanner_unittest
  CXX    pcre_stringpiece_unittest.o
  CXXLD  pcre_stringpiece_unittest
make[1]: Leaving directory `/usr/pcre/pcre-8.31'
root@ubuntu:/usr/pcre/pcre-8.31# 

接著 make install 部分執行如下

make[3]: Entering directory `/usr/pcre/pcre-8.31'
ln -sf pcre_assign_jit_stack.3           /usr/local/share/man/man3/pcre16_assign_jit_stack.3
ln -sf pcre_compile.3                    /usr/local/share/man/man3/pcre16_compile.3
ln -sf pcre_compile2.3                   /usr/local/share/man/man3/pcre16_compile2.3
ln -sf pcre_config.3                     /usr/local/share/man/man3/pcre16_config.3
ln -sf pcre_copy_named_substring.3       /usr/local/share/man/man3/pcre16_copy_named_substring.3
ln -sf pcre_copy_substring.3             /usr/local/share/man/man3/pcre16_copy_substring.3
ln -sf pcre_dfa_exec.3                   /usr/local/share/man/man3/pcre16_dfa_exec.3
ln -sf pcre_exec.3                       /usr/local/share/man/man3/pcre16_exec.3
ln -sf pcre_free_study.3                 /usr/local/share/man/man3/pcre16_free_study.3
ln -sf pcre_free_substring.3             /usr/local/share/man/man3/pcre16_free_substring.3
ln -sf pcre_free_substring_list.3        /usr/local/share/man/man3/pcre16_free_substring_list.3
ln -sf pcre_fullinfo.3                   /usr/local/share/man/man3/pcre16_fullinfo.3
ln -sf pcre_get_named_substring.3        /usr/local/share/man/man3/pcre16_get_named_substring.3
ln -sf pcre_get_stringnumber.3           /usr/local/share/man/man3/pcre16_get_stringnumber.3
ln -sf pcre_get_stringtable_entries.3    /usr/local/share/man/man3/pcre16_get_stringtable_entries.3
ln -sf pcre_get_substring.3              /usr/local/share/man/man3/pcre16_get_substring.3
ln -sf pcre_get_substring_list.3         /usr/local/share/man/man3/pcre16_get_substring_list.3
ln -sf pcre_jit_stack_alloc.3            /usr/local/share/man/man3/pcre16_jit_stack_alloc.3
ln -sf pcre_jit_stack_free.3             /usr/local/share/man/man3/pcre16_jit_stack_free.3
ln -sf pcre_maketables.3                 /usr/local/share/man/man3/pcre16_maketables.3
ln -sf pcre_pattern_to_host_byte_order.3 /usr/local/share/man/man3/pcre16_pattern_to_host_byte_order.3
ln -sf pcre_refcount.3                   /usr/local/share/man/man3/pcre16_refcount.3
ln -sf pcre_study.3                      /usr/local/share/man/man3/pcre16_study.3
ln -sf pcre_utf16_to_host_byte_order.3   /usr/local/share/man/man3/pcre16_utf16_to_host_byte_order.3
ln -sf pcre_version.3                    /usr/local/share/man/man3/pcre16_version.3
make[3]: Leaving directory `/usr/pcre/pcre-8.31'
make[2]: Leaving directory `/usr/pcre/pcre-8.31'
make[1]: Leaving directory `/usr/pcre/pcre-8.31'
[email protected]:/usr/pcre/pcre-8.31# 

完成 ,接著來裝 nginx。我的nginx是1.8.1版本的下載地址點選here
執行./configure 命令發現報錯了

checking for OS
 + SunOS 5.10 sun4v
checking for C compiler ... not found

可是我明明安裝了gcc啊,不要急 將環境變數檔案 /etc/profile中加入
CC=gcc
export CC
重啟 或者 source /etc/profile即可
再次執行./configure 關於configure 的引數可以執行 ./configure -help檢視 如果執行過後 報錯 找不到 PCRE library 和 OpenSSL library 庫 , PCRE library not found,OpenSSL library not found 可以執行 ./configure –with-pcre=/(pcre的原始碼包) –with-openssl=/(openssl原始碼包) 注意如果安裝沒有問題 直接執行./configure 就好了 openssl library 並不是必須的,但是沒有 pcre library 就必須指定–with-pcre=/(pcre的原始碼包)

執行./configure –with-pcre=/(原始碼包路徑) –with-openssl=/(onpenssl原始碼包路徑) 部分程式碼如下

[email protected]:/usr/nginx/nginx-1.8.1# ./configure 
checking for OS
 + Linux 3.13.0-32-generic x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) 
checking for gcc -pipe switch ... found
checking for gcc builtin atomic operations ... found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... found

checking for md5 in system md library ... not found
checking for md5 in system md5 library ... not found
checking for md5 in system OpenSSL crypto library ... not found
checking for sha1 in system md library ... not found
checking for sha1 in system OpenSSL crypto library ... not found
checking for zlib library ... found
creating objs/Makefile

Configuration summary
  + using system PCRE library
  + using OpenSSL library is not used
  + using builtin md5 code
  + sha1 library is not found
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

[email protected]:/usr/nginx/nginx-1.8.1#

執行make 部分程式碼如下

make[1]: Leaving directory `/usr/nginx/nginx-1.8.1'
make -f objs/Makefile manpage
make[1]: Entering directory `/usr/nginx/nginx-1.8.1'
sed -e "s|%%PREFIX%%|/usr/local/nginx|" \
                -e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" \
                -e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" \
                -e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" \
                < man/nginx.8 > objs/nginx.8
make[1]: Leaving directory `/usr/nginx/nginx-1.8.1'
[email protected]:/usr/nginx/nginx-1.8.1# 

執行 make install 成功 啟動nginx服務

root@ubuntu:/usr/local/nginx/sbin# ls 
nginx
root@ubuntu:/usr/local/nginx/sbin# ./nginx 
root@ubuntu:/usr/local/nginx/sbin# ps aux | grep nginx
root      3179  0.1  0.0  22348   596 ?        Ss   15:37   0:00 nginx: master process ./nginx
nobody    3180  0.0  0.0  22780   988 ?        S    15:37   0:00 nginx: worker process
root      3183  0.0  0.0   8864   644 pts/11   S+   15:37   0:00 grep --color=auto nginx
root@ubuntu:/usr/local/nginx/sbin# 

3179是nginx主程序的程序id,3180是nginx工作程序的程序id

啟動成功 通過 瀏覽器檢視一下
這裡寫圖片描述安裝成功

停止nginx
方式1,快速停止:
cd /usr/local/nginx/sbin
./nginx -s stop
此方式相當於先查出nginx程序id再使用kill命令強制殺掉程序。

方式2,完整停止(建議使用):
cd /usr/local/nginx/sbin
./nginx -s quit
此方式停止步驟是待nginx程序處理任務完畢進行停止。

重啟nginx
方式1,先停止再啟動(建議使用):
對nginx進行重啟相當於先停止nginx再啟動nginx,即先執行停止命令再執行啟動命令。
如下:
./nginx -s quit
./nginx

方式2,重新載入配置檔案:
當nginx的配置檔案nginx.conf修改後,要想讓配置生效需要重啟nginx,使用-s reload不用先停止nginx再啟動nginx即可將配置資訊在nginx中生效,如下:
./nginx -s reload
開機啟動nginx
vi /etc/rc.local
加入一行 /usr/local/nginx/sbin/nginx 儲存並退出,下次重啟會生效。

相關推薦

Ubuntu安裝nginx(復制)

sudo alt 4.2 .gz 例如 span 沒有 wget size gcc、g++依賴庫 apt-get install build-essential apt-get install libtool 安裝 pcre依賴庫(http://www.pcre.or

ubuntu安裝nginx

rect over tls 服務器 figure bsd ont 資源 support Ubuntu16.04.1 安裝NginxNginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。 Ng

linux ubuntu 安裝nginx

參考原文   在Ubuntu下安裝Nginx有以下方法,但是如果想要安裝最新版本的就必須下載原始碼包編譯安裝。 一、基於APT源安裝 sudo apt-get install nginx 安裝好的檔案位置: /usr/sbin/nginx:主程式 /etc/nginx:存放配

ubuntu安裝nginx與配置

pat sha web grep 訪問 cati pan listen 安裝nginx 命令行安裝:(當前時間為2018.11,版本為1.10.3) sudo apt-get install nginx 安裝好的文件位置: /usr/sbin/nginx:

阿里雲伺服器ECS上ubuntu安裝nginx後預設站點頁面開啟錯誤,顯示無法訪問此網站

問題:在新買的阿里雲伺服器ECS上安裝nginx後開啟預設頁面失敗,如下圖所示。   系統環境:Ubuntu 16.04.4 LTS64版本。 步驟回顧: root使用者下執行命令 apt-get install nginx; 在瀏覽器輸入公網IP 解決:   阿里雲控

Ubuntu安裝nginx並配置應用

安裝gcc g++的依賴庫 1 2 apt-get install build-essential apt-get install libtool centeros平臺可以使用如下命令。 1 2 3 4

Ubuntu安裝Nginx和正確解除安裝Nginx

1.Ubuntu下安裝Nginx比較簡單 敲入下列命令即可: sudo apt-get update sudo apt-get install nginx  安裝後會自動生成三個檔案:如下   2.Ubuntu下解除安裝, 稍不注意就會入坑&nb

ubuntu安裝nginx及其預設目錄結構

一. 安裝包安裝 1.1 安裝Nginx $sudo apt-get install nginx Ubuntu安裝之後的檔案結構大致為: 所有的配置檔案都在/etc/nginx下,並且每個虛擬主機已經安排在了/etc/nginx/sites-available下 程式檔案在/usr/sbin

Ubuntu 安裝nginx

linux安裝nginx需要先安裝 openssl zlib pcre等,關於openssl以及zlib的安裝可以參考我的另一篇部落格《redis叢集配置》下面直接介紹 pcre的安裝和nginx的安裝 PCRE(Perl Compatible Regular

ubuntu安裝nginx及常見問題解決

安裝nginx常見的問題就是gcc,zlib,pcre,openssl缺少這四個依賴,具體的安裝辦法如下: 1.安裝依賴 安裝gcc $ sudo apt-get install gc

主機屋 ubuntu 14安裝nginx

pcre fig over prefix fix lib flow build con 安裝gcc g++的依賴庫 1 sudo apt-get install build-essential 2 sudo apt-get install libtool 安裝 pcre依賴

Ubuntu 命令行 安裝nginx

命令行 listen index list file cat oca 目錄 打開 一、安裝nginx   apt-get install nginx 二、配置nginx,在d.conf目錄下新建test.conf    server{ listen 8

阿裏雲ECS服務器Ubuntu 16.04安裝nginx

輸入 /etc ges 所有 res htop con ip) 綁定ip root賬戶登錄,不是root的話下面所有命令自行在前面加上 sudo以管理員權限運行。 apt-get update 更新軟件源 apt-get install nginx 安裝nginx

Ubuntu 16.04LTS安裝Nginx

exit sudo uri 指定 get body 許可證 cnblogs tar Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。 Nginx 是由 Igor Sysoev 為俄羅斯

ubuntu 安裝ftp nginx tomcat

tp服務器 vsftpd 配置 OS 文件 ftp服務器 sta apt cal tomcat sudo apt-get install tomcat 訪問方式,http://loclahost:8080 進入sbin目錄下 sudo ./startup.sh開啟 sudo

ubuntu 18.04 LTS 安裝nginx-1.14.0

http 安裝 zlib width spa user pen open idt 更新ubuntu18.04LTS到最新; Nginx官網下載nginx-1.14.0穩定版; 安裝相關依賴 make、gcc、g++、openssl、libssl-dev、zlib1g、zl

Linux下源碼安裝NginxUbuntu和CentOS通用)

fig 出現 保存 重啟nginx 文件添加 openssl make 檢測 修改方法 1.下載nginx,鏈接地址:http://nginx.org/download/nginx-1.12.2.tar.gz,選擇linux版本(.tar.gz)(Nginx版本為1.12.

Linux包管理命令與Ubuntu安裝nginx的方法

rpm包和deb包是兩種Linux系統下最常見的安裝包格式,在安裝一些軟體或服務的時候免不了要和它們打交道。rpm包主要應用在RedHat系列包括 Fedora等發行版的Linux系統上,deb包主要應用於Debian系列包括現在比較流行的Ubuntu等發行版上。 二者對應的安裝命令分別為rp

ubuntu 14.04LTS 系統下安裝nginx+php

nginx原始碼安裝 說明:使用nginx原始碼編譯的方式安裝時,需要先安裝nginx的依賴庫pcre、zlib、oppenssl。 官網下載地址 http://nginx.org/en/download.html $ wget http://nginx.org/download/nginx-1

ubuntu 14.04LTS 系統下安裝nginx

  nginx原始碼安裝 說明:使用nginx原始碼編譯的方式安裝時,需要先安裝nginx的依賴庫pcre、zlib、oppenssl。 官網下載地址 http://nginx.org/en/download.html $ wget http://nginx.org/download