1. 程式人生 > 實用技巧 >Centos7下的Nginx的安裝與配置

Centos7下的Nginx的安裝與配置

Centos7下的Nginx的安裝與配置

Yum安裝

新安裝的Centos系統中,直接使用yum安裝會提示沒有可用的軟體包。原因是nginx位於第三方的yum源裡面,而不在centos官方yum源裡面.需要安裝epel源。EPEL (Extra Packages for Enterprise Linux)是基於Fedora的一個專案,為“紅帽系”的作業系統提供額外的軟體包,適用於RHEL、CentOS等系統

安裝EPELsudo yum install epel-release

更新一下源sudo yum update

安裝Nginx: sudo yum -y install nginx

安裝完成檢視一下版本nginx -v

防火牆開啟埠sudo firewall-cmd --zone=public --permanent --add-service=http

nginx的常用命令

sudo systemctl enable nginx # 設定開機啟動 
sudo service nginx start # 啟動 nginx 服務
sudo service nginx stop # 停止 nginx 服務
sudo service nginx restart # 重啟 nginx 服務
sudo service nginx reload # 重新載入配置,一般是在修改過 nginx 配置檔案時使用。

Nginx的配置檔案和常用目錄

#Nginx的全域性配置檔案
/etc/nginx/nginx.conf
#自定義配置檔案目錄
/etc/nginx/conf.d
#預設專案檔案路徑
/usr/share/nginx/html/
#日誌檔案目錄
/var/log/nginx/
#安裝檔案
/etc/nginx

原始碼安裝

安裝依賴包

yum install -y pcre-devel zlib-devel openssl-devel wget gcc tree vim gcc-c++

下載原始碼

下載目錄地址選擇自己要下載的安裝包,使用wget下載

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

解壓編譯

解壓: tar -xzvfnginx-1.9.1.tar.gz

配置虛擬目錄

  • 在Nginx配置目錄下,建立一個”vhost”目錄。本例假設Nginx是預設安裝,配置目錄在”/etc/nginx”
$ sudo mkdir /etc/nginx/vhost
  • 建立siteA的配置檔案
$ sudo vi /etc/nginx/vhost/vhost_siteA.conf
  • 輸入以下配置資訊
server {
    listen       80;                        # 監聽埠
    server_name www.siteA.com siteA.com;    # 站點域名
    root  /home/user/www/blog;              # 站點根目錄
    index index.html index.htm index.php;   # 預設導航頁
 
    location / {
        # WordPress固定連結URL重寫
        if (!-e $request_filename) {
            rewrite (.*) /index.php;
        }
    }
 
    # PHP配置
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }
}
  • 同siteA一樣建立siteB的配置檔案,兩者僅有的不同是”server_name”和”root”目錄
$ sudo vi /etc/nginx/vhost/vhost_siteB.conf
server {
    ...
    server_name www.siteB.com siteB.com;    # 站點域名
    root  /home/user/www/forum;             # 站點根目錄
    ...
}
  • 開啟nginx.conf檔案
sudo vi /etc/nginx/nginx.conf
  • 將虛擬目錄的配置檔案加入到”http {}”部分的末尾
http {
    ...
    include /etc/nginx/vhost/*.conf;
}
  • 重啟Nginx服務
$ sudo service nginx restart
  • 現在訪問www.siteA.com和www.siteB.com,你將發現瀏覽器會開啟不同的站點