1. 程式人生 > >普通用戶安裝Nginx

普通用戶安裝Nginx

普通用戶安裝nginx

一、安裝前準備

安裝包獲取

Nginx網站http://nginx.org 下載軟件版本包

目前主流版本為nginx-1.13.3 穩定版本為nginx-1.12.1,這裏使用穩定版nginx-1.12.1 為例


1、安裝pcre軟件包

安裝pcre庫是為使Nginx支持HTTP rewrite模塊

在Linux系統中查看pcre軟件包是否已經安裝,如果沒有請事先安裝好,在光盤裏面可以使用rpm -ivh 安裝

[[email protected] tmp]# rpm -qa | grep pcre

pcre-7.8-7.el6.x86_64


錯誤提示:./configure: error: the HTTP rewrite module requires the PCRE library.

You can either disable the module by using --without-http_rewrite_module

option, or install the PCRE library into the system, or build the PCRE library

statically from the source with nginx by using --with-pcre=<path> option.


解決辦法:

yum -y install pcre-devel-7.8-6.el6.x86_64


2、安裝openssl-devel軟件包

錯誤提示:./configure: error: the HTTP cache module requires md5 functions

from OpenSSL library. You can either disable the module by using

--without-http-cache option, or install the OpenSSL library into the system,

or build the OpenSSL library statically from the source with nginx by using

--with-http_ssl_module --with-openssl=<path> options.


解決辦法:

yum -y install openssl openssl-devel


3、創建應用Nginx軟件的應用用戶

lvcreate -L 1G -n lv_iccs apvg

mkfs.ext4 /dev/apvg/lv_iccs

編輯/etc/fstab 裏面實現自動掛載


4、創建應用用戶

useradd -u 601 -d /home/iccs iccs

chown iccs:iccs -R /home/iccs


5、解壓軟件包並賦權給應用用戶

tar -xvf nginx-1.12.1.tar.gz

chown iccs:iccs -R /tmp/nginx-1.12.1


二、安裝Nginx軟件

1、使用configure 命令可以檢測軟件的安裝環境,並生成Makefile文件

su - iccs

cd /tmp/nginx-1.12.1


./configure\

> --user=iccs \

> --group=iccs \

> --prefix=/home/iccs \

> --sbin-path=/home/iccs/sbin/nginx \

> --conf-path=/home/iccs/conf/nginx.conf \

> --error-log-path=/home/iccs/log/error.log \

> --http-log-path=/home/iccs/log/access.log \

> --http-client-body-temp-path=/home/iccs/tmp/client_body \

> --http-proxy-temp-path=/home/iccs/tmp/proxy \

> --http-fastcgi-temp-path=/home/iccs/tmp/fastcgi \

> --pid-path=/home/iccs/var/run/nginx.pid \

> --lock-path=/home/iccs/var/lock/subsys/nginx \

> --with-http_stub_status_module \

> --with-http_ssl_module \

> --with-http_gzip_static_module


備註:

configure 選項 【選項含義】

--user 指定啟動程序所屬用戶

--group 指定啟動程序所屬組

--prefix 指定nginx安裝路徑

--sbin-path 設置nginx二進制文件的路徑

--conf-path 指定配置文件的路徑

--error-log-path 指定錯誤日誌文件路徑

--http-log-path 指定訪問日誌文件路徑

--http-client-body-temp-path 設置存儲HTTP客戶端請求主體的臨時文件路徑

--http-proxy-temp-path 設置存儲HTTP代理臨時文件的路徑

--pid-path 設置nginx.pid文件路徑

--lock-path 設置nginx.lock 文件路徑

--with-openssl 啟用SSL

--with-pcre 啟用正規表達式

--with-http_stub_status_module 安裝可以監控nginx狀態的模塊

--with-http_ssl_module 啟用SSL支持

--with-http_gzip_static_module 啟用gzip壓縮


2、開始安裝

[[email protected] nginx-1.12.1]$ make

[[email protected] nginx-1.12.1]$ make install


三、啟動Nginx

[[email protected] sbin]$ ./nginx

nginx: [emerg] mkdir() "/home/iccs/tmp/client_body" failed (2: No such file or directory)

nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)

備註:這裏啟動的時候遇到兩個錯誤

1、因為在目錄下面沒有找到tmp目錄,所以無法寫入緩存文件

2、因為我們是應用用戶安裝並且啟動的,在Linux系統下普通用戶是不能使用1024以下端口的,而Nginx默認是80端口,所以需要修改/home/iccs/conf/nginx.conf配置文件將端口改為1024以上,我這裏改為了1983

3、如果你是root安裝的話,在啟動nginx之前,也一定要確保停止其它web服務如Apache等服務沖突防止端口


5、查看nginx進程和端口, 和之前配置文件worker process 一共8個,和配置文件中一樣

這裏我在修改端口的時候將worker process改為了5 默認為1,如下結果可以看出我們已經啟動成功了

[[email protected] conf]$ netstat -lntp

(Not all processes could be identified, non-owned process info

will not be shown, you would have to be root to see it all.)

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:1983 0.0.0.0:* LISTEN 8439/nginx

tcp 0 0 0.0.0.0:42603 0.0.0.0:* LISTEN -

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN -


[[email protected] sbin]$ ps -ef | grep nginx

iccs 8503 1 0 16:02 ? 00:00:00 nginx: master process ./nginx

iccs 8504 8503 0 16:02 ? 00:00:00 nginx: worker process

iccs 8505 8503 0 16:02 ? 00:00:00 nginx: worker process

iccs 8506 8503 0 16:02 ? 00:00:00 nginx: worker process

iccs 8507 8503 0 16:02 ? 00:00:00 nginx: worker process

iccs 8508 8503 0 16:02 ? 00:00:00 nginx: worker process


6、Nginx 啟動常用選項

Nginx [選項]

-p <前綴> 設置前綴路徑,默認為/opt/nginx

-c <文件名> 設置配置文件,默認為/etc/nginx/nginx.conf

-v 顯示版本信息並退出

-V 顯示版本信息和配置選項,然後退出

-t 測試配置時候正確,並退出

-q 配置測試過程中抑制非錯誤信息

-s <信號> 將stop、quit、reopen、reload等信號發送給nginx主進程

直接啟動服務執行 /home/iccs/sbin/nginx


為了方便加入一下應用用戶的環境變量

vim /home/icccs/.bash_profile 將命令路徑變成如下

PATH=$PATH:$HOME/bin:$HOME/sbin

本文出自 “學習像樹一樣活著” 博客,請務必保留此出處http://laobaiv1.blog.51cto.com/2893832/1949037

普通用戶安裝Nginx