1. 程式人生 > >CentOS 初體驗十五:阿里雲安裝Nginx

CentOS 初體驗十五:阿里雲安裝Nginx

什麼是 Nginx

Nginx 是俄羅斯人編寫的十分輕量級的 HTTP 伺服器,它的發音為“engine X”,是一個高效能的 HTTP 和反向代理伺服器,同時也是一個 IMAP/POP3/SMTP 代理伺服器。Nginx 是由俄羅斯人 Igor Sysoev 為俄羅斯訪問量第二的 Rambler.ru 站點開發的,它已經在該站點執行超過兩年半了。Igor Sysoev 在建立的專案時,使用基於 BSD 許可。

Nginx 因為它的穩定性、豐富的模組庫、靈活的配置和低系統資源的消耗而聞名,不僅是因為響應靜態頁面的速度非常快,而且它的模組數量達到 Apache 的近 2/3.

系統

  • 平臺:阿里雲
  • CPU: 2核
  • 記憶體: 4 GB
  • 作業系統: CentOS 7.4 64位

安裝 Nignx

安裝 nignx

yum install nginx

通過上面的命令,就可以正常的安裝 nginx ,安裝完成後, 可以通過以下命令,啟動 nginx

//啟動nginx
systemctl start nginx  

檢視 nginx 執行狀態

//檢視執行狀態
systemctl status nginx 

狀態如下
這裡寫圖片描述

在瀏覽器中輸入阿里雲公網 ip , 就可以看到 nginx 啟動頁面了。

這裡寫圖片描述

修改 nginx 埠

nginx 預設埠是 80 埠 , 如果有其他服務佔用了 80

埠,我們需要為 nginx 指定新的埠,比如 8084 埠

修改 nginx 埠配置

配置埠的檔名字為 nginx.conf , 如果我們不知道這個檔案在什麼位置,我們可以用 find 命令找到這個檔案的位置。

find / -name nginx.conf

結果是:
這裡寫圖片描述

nginx.conf/etc/nginx/ 目錄。我們用 vim 開啟這個檔案,將

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        ....
        ....
}

改為

server {
        listen       8084 default_server;
        listen       [::]:8084 default_server;
        ....
        ....
}

儲存退出就可以了,這樣我們就把 nginx 預設 80 埠 修改成了 8084 埠。但是這還不行,因為我們是在阿里雲的環境裡面,需要在阿里雲伺服器的安全組開啟 8084 埠

開啟阿里雲 8084 埠

這裡寫圖片描述

安全組埠開啟了以後,我們重啟 nginx 服務

systemctl restart nginx

然後在瀏覽器輸入 http://47.94.230.26:8084/ , 就可以在看到
這裡寫圖片描述

至此我們的埠已經修改完成了。

其他命令

systemctl start nginx  #啟動

systemctl stop nginx #停止

systemctl restart nginx  #重啟

systemctl status nginx #檢視執行狀態

systemctl enable nginx #開機啟動

nginx -v  #檢視nginx版本號

service nginx reload #重新載入配置檔案

vi  /etc/nginx/conf.d/default.conf  #開啟配置檔案

代理轉發

首先開啟配置檔案

vi  /etc/nginx/conf.d/default.conf  #開啟配置檔案

在配置檔案的末尾加上轉發規則

  • 訪問 news.baidu.net/aotshare 時,自動重定向到 http://www.baidu.com
  • 訪問 news.baidu.net 時,轉發到 http://127.0.0.1:8080
server {
        listen 80;
        server_name news.baidu.net;

    location /aotshare{
        #重定向 
        return http://www.baidu.com;
    }
    location /{
        #訪問該地址時,需要轉發
        proxy_pass http://127.0.0.1:8080;
    }
}

配置完成後,測試一下配置的內容是正常的

nginx -t

測試效果如圖:

這裡寫圖片描述

最後重新載入配置檔案

service nginx reload

檢視 nginx 轉發日誌

tail -f /var/log/nginx/access.log 

注意事項

如果是新機器,nginx 代理不通過, 執行 vim /var/log/nginx/error.log 檢查nginx的log會發現log提示許可權不足,可是我們已經把檔案許可權付給了nginx。

這裡寫圖片描述

最終得知是因為selinux的緣故,此時只需執行 setenforce 0 即可關閉selinux(臨時),再修改配置檔案 /etc/selinux/config,將SELINUX=enforcing改為SELINUX=disabled,這樣下次重啟selinux依然是關閉的。再執行curl localhost 會發現服務已經可以正常服務了。

非常好的參考文件:

個人微訊號:zhaoyanjun125 , 歡迎關注