普通用戶安裝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