天天看點

CentOS7 安裝Nginx1、軟體包安裝1.3、啟動測試2、源碼安裝

nginx官方文檔介紹的安裝方法:http://nginx.org/en/docs/install.html

本文介紹兩種:

  • 軟體包安裝
  • 源碼安裝

1、軟體包安裝

官方:http://nginx.org/en/linux_packages.html

CentOS/RedHat版本支援

CentOS7 安裝Nginx1、軟體包安裝1.3、啟動測試2、源碼安裝

其他的Linux系統參考官方文檔。

1.1、設定nginx存儲庫

前提yam正常 + 網絡通暢,看自身情況是否使用sudo指令

yum-utils軟體包(提供

yum-config-manager

 功能)

yum install yum-utils
           

建立/etc/yum.repos.d/nginx.repo,編寫nginx存儲庫配置,具體内容如下:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
           

1.2、執行安裝

yum install nginx
           

官方的yum配置,速度可能不太理想,至少我安裝的時候是這樣(是時候展示真正的技術了)。

1.3、啟動測試

#啟動
systemctl start nginx
#加入開機啟動
systemctl enable nginx
           

浏覽器輸入localhost,效果如下,安裝成功。

CentOS7 安裝Nginx1、軟體包安裝1.3、啟動測試2、源碼安裝

如果其他機器通路不到,檢測一下是不是防火牆的問題。

簡單粗暴的解決辦法,關閉防火牆

CentOS 7使用firewall,執行以下指令,其他linux系統,請百度。

更詳細的firewall操作請百度。

systemctl stop firewalld
           

1.4、路徑說明

  • /etc/nginx:nginx.conf所在目錄
  • /usr/share/nginx:html檔案夾所在目錄
  • /usr/sbin/nginx:nginx指令檔案
  • /var/log/nginx:nginx日志目錄

2、源碼安裝

2.1、下載下傳源碼檔案

官網擷取源碼檔案下載下傳連結:http://nginx.org/en/download.html

#下載下傳
wget http://nginx.org/download/nginx-1.18.0.tar.gz
#解壓
tar -zxvf nginx-1.18.0.tar.gz
           

2.2、安裝依賴

直接使用yum安裝一下依賴

yum install -y pcre-devel zlib-devel openssl-devel
           

源碼編譯需要依賴gcc編譯器,編譯提示錯誤的話,安裝gcc編譯器

yum install gcc
           

2.3、編譯前配置

cd nginx-1.18.0
./configure --prefix=/opt/nginx --with-http_ssl_module

#出現 -bash: ./configure: Permission denied錯誤
bash ./configure --prefix=/opt/nginx --with-http_ssl_module
           

配置說明:

  • --prefix:安裝目錄,預設是/usr/local/nginx。
  • --with-http_ssl_module:允許建構一個子產品,将HTTPS協定支援添加到HTTP伺服器。這個子產品不是預設建構的。建構和運作這個子產品需要OpenSSL庫。

更多配置說明請參考官方文檔:http://nginx.org/en/docs/configure.html

2.4、編譯安裝

make && make install
           

如果無意外,等待編譯安裝完成即可。

2.5、啟動測試

執行安裝目錄下的sbin目錄的nginx指令檔案,啟動nginx

/opt/nginx/sbin/nginx
           

2.6、添加環境變量

  • 方式一:軟連接配接到PATH所包含的目錄下
#檢視環境變量PATH的值,輸出如下
echo $PATH
#輸出:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/jdk1.8.0_201/bin:/root/bin
#連結,例如
ln -s /opt/nginx/sbin/nginx /usr/local/sbin
           
  • 方式二:PATH環境變量中添加nginx指令所處路徑

配置使用者級别或者系統級别,本文配置的是系統級别的環境變量。

vim /etc/profile
#插入内容:export PATH=$PATH:/opt/nginx/sbin
#使環境變量設定立即生效
source /etc/profile
           

2.7、建立nginx系統服務

CentOS服務所在路徑:/usr/lib/systemd/system/,軟體包安裝的nginx.service會在該路徑下。

我們現在在/etc/rc.d/init.d/目錄下建立nginx檔案。

内容如下,(如果編譯安裝目錄,請修改)

#!/bin/bash
#
# chkconfig: - 85 15
# description: Nginx is a World Wide Web server.
# processname: nginx

nginx=/opt/nginx/sbin/nginx
conf=/opt/nginx/conf/nginx.conf
case $1 in
start)
echo -n "Starting Nginx"
$nginx -c $conf
echo " done"
;;
stop)
echo -n "Stopping Nginx"
killall -9 nginx
echo " done"
;;
test)
$nginx -t -c $conf
;;
reload)
echo -n "Reloading Nginx"
ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP
echo " done"
;;
restart)
$0 stop
$0 start
;;
show)
ps -aux|grep nginx
;;
*)
echo -n "Usage: $0 {start|restart|reload|stop|test|show}"
;;
esac
           

再給定權限

chmod 755 nginx
           

将檔案添加到系統服務

#添加到系統服務
chkconfig --add nginx
#檢查是否添加成功
chkconfig --list nginx
           

啟動測試

systemctl start nginx
           

繼續閱讀