1. 程式人生 > >Linux伺服器nginx安裝

Linux伺服器nginx安裝

一、安裝準備

解除安裝

檢視是否之前安裝過nginx

whereis nigin

如果有就會返回nginx路徑

解除安裝

yum remove nginx

安裝

centOS安裝nginx可以有以下兩種方式

  1. centos的yum 儲存庫,新增EPEL倉庫
  2. 從nginx官網下載nginx-xxx.tar.gz手動安裝

1.yum安裝

1.新增源

預設情況Centos7中無Nginx的源,最近發現Nginx官網提供了Centos的源地址。因此可以如下執行命令新增源

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2、安裝Nginx

通過yum search nginx看看是否已經新增源成功。如果成功則執行下列命令安裝Nginx

#檢視是否新增源成功
sudo yum search nginx
#安裝
sudo yum install -y nginx

3、啟動Nginx

sudo systemctl start nginx
#或者
service nginx start

4.開機啟動nginx

sudo systemctl enable nginx

5.配置檔案

#預設配置檔案在/etc/nginx目錄下
/etc/nginx/conf/nginx.conf

6.測試

在瀏覽器位址列輸入伺服器ip訪問

2.編譯安裝

1.準備

nginx的一些模組依賴一些lib庫,所以在安裝之前,先裝依賴庫,c++gccopenssl-devlpcre-develzlib-devel

#編譯環境
yum install gcc-c++  

#rewrite模組需要pcre庫
yum install pcre pcre-devel 

#gzip模組需要zlib庫
yum install zlib zlib-devel  

#SSL功能需要openssl庫
yum install openssl openssl-devel  

2.下載

先在/usr/local目錄下下載

wget http://nginx.org/download/nginx-1.14.0.tar.gz

PS: 如果沒有wget命令

# 如果沒有安裝wget
$ yum install wget

3.解壓

tar zxvf nginx-1.14.0.tar.gz
#我們一般安裝linux軟體都會在/usr/local目錄下,然後進行解壓編譯安裝
#如果不是在local目錄下操作,移動解壓後的原始碼包
mv nginx-1.11.3 /usr/local/nginx-1.14.0

4.進入安裝目錄

cd nginx-1.14.0

5.編譯安裝

./configure 
#或者 ./configure --prefix=/usr/local/nginx 安裝到/usr/local/nginx的nginx目錄下
make
make install

#檢視版本
/usr/local/nginx/sbin/nginx -v

#檢查nginx.conf配置檔案正確性
/usr/local/webserver/nginx/sbin/nginx -t

6.啟動 Nginx

/usr/local//nginx/sbin/nginx

管理命令

# 啟動1:
/usr/local/nginx/sbin/nginx
# 啟動2:
cd /usr/local/nginx/sbin
./nginx
# 啟動3:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
# 重新載入配置
/usr/local/nginx/sbin/nginx -s reload
# 重啟
/usr/local/nginx/sbin/nginx -s reopen
# 關閉程序
/usr/local/nginx/sbin/nginx -s stop
# 平滑關閉nginx
/usr/local/nginx/sbin/nginx -s quit
# 檢視nginx版本
/usr/local/nginx/sbin/nginx -V 
# 檢查配置檔案nginx.conf的正確性
/usr/local/nginx/sbin/nginx -t

程序管理

#查詢程序
ps -ef|grep nginx
#停止程序
kill -QUIT 主程序
#快速停止
kill -TERM 主程序
#強制關閉
pkill -9 nginx

防火牆

nginx預設只開啟22埠,80等埠都是關閉的

解決1:關閉防火牆

#檢視防火牆狀態
firewall-cmd --state

#停止firewall
systemctl stop firewalld.service

#禁止firewall開機啟動
systemctl disable firewalld.service 

解決2:開放特定埠

firewall-cmd --zone=public --add-port=80/tcp --permanent  

#命令含義:
--zone #作用域

--add-port=80/tcp  #新增埠,格式為:埠/通訊協議

--permanent   #永久生效,沒有此引數重啟後失效

#重啟防火牆
systemctl stop firewalld.service
systemctl start firewalld.service  
#或者
firewall-cmd  --reload

解決三:配置防火牆檔案

/etc/sysconfig/iptables目錄下

vim /etc/sysconfig/iptables

#新增如下程式碼
-A INPUT -p tcp -m state -- state NEW -m tcp --dport 80 -j ACCEPT
#儲存退出,重啟防火牆
service iptables restart