openSUSE 下 nginx 的安裝配置

本文介紹一下在 openSUSE 下如何安裝 nginx ,以及對 nginx 作一些簡單的配置。html

安裝環境:
openSUSE Leap 42.2linux


安裝步驟

1. 添加軟件源

安裝 nginx 有幾種方式,包括源碼編譯安裝,或者直接經過添加軟件源,進行在線安裝等方式。後者要簡單方便一些,由於它能自動解決依賴關係,而且方便咱們升級維護。nginx

打開 nginx 的官網下載地址 地址在此 ,能夠看到 nginx 爲不一樣的 linux 發行版都添加了軟件源信息,咱們使用的是 openSUSE 系統,所以可使用 SLES相關的軟件源:web

clipboard.png

進入到 linux系統中,執行上述命令,添加軟件源。瀏覽器

2. 使用 YaST2 工具進行安裝

打開 系統-->添加/移除軟件:服務器

clipboard.png

而後搜索 nginxapp

clipboard.png

能夠看到,第一個就是從剛纔添加的軟件源中讀取到的軟件信息,勾選,點擊右下角的接受,進行安裝。
安裝完畢後 YaST2會自動退出。tcp


nginx 經常使用命令

1. 啓動 nginx

啓動 nginx 直接執行nginx命令便可:工具

nginx

1.1 加載指定的配置文件ui

nginx 啓動時會默認加載 /etc/nginx/nginx.cnf 下的配置文件進行啓動,若是你想加載其餘的配置文件,可使用 -c 指令:

nginx -c /etc/nginx/nginx.conf

1.2 找出默認的配置位置

若是你不知道默認的配置文件在什麼地方,可使用 -t 指令, -t 指令用於分析檢測配置文件的語法,而且會打印配置文件的位置:

clipboard.png

2. 查看 nginx 的運行狀態

ps -ef|grep nginx

信息以下:

linux-2wl8:~ # ps -ef|grep nginx
root     10132     1  0 16:58 ?        00:00:00 nginx: master process nginx
root     10133 10132  0 16:58 ?        00:00:00 nginx: worker process
root     10134 10132  0 16:58 ?        00:00:00 nginx: worker process
root     10136 10132  0 16:58 ?        00:00:00 nginx: worker process
root     10137 10132  0 16:58 ?        00:00:00 nginx: worker process
root     10140  8912  0 16:59 pts/0    00:00:00 grep --color=auto nginx

能夠看到,nginx 已經成功啓動,包含一個主進程(master process)和幾個工做進程(work process)
若是沒顯示上述進程信息,表示 nginx未成功啓動。


3. 中止 nginx

nginx 中止有兩種方式:快速中止平滑中止

  • nginx -s stop :快速中止

  • nginx -s quit :平滑中止

平滑中止會等待全部的工做進程處理完全部的請求後,再進行中止,不是強制中止。


4. 重載配置文件

nginx 支持配置文件的熱修改,無需重啓服務也可從新加載配置文件,使用命令:

nginx -s reload

主進程接收到上述指令後,首先會檢查配置文件的語法是否正確,確認無誤後,會開啓新的工做進程,而後向舊的工做進程發送關閉的指令,舊的工做進程收到指令後,並不是當即中止,而是處理完當前的請求後再自行中止。經過這個步驟,來完成對配置文件的從新載入。

5. 查看 nginx的版本:

經過 -v來查看版本信息:

nginx -v

nginx 配置文件

經過 YaST 安裝後,配置文件的默認位置爲 /etc/nginx/nginx.conf.

下面是一些常見的配置信息。

# 定義用戶組和用戶
user  root root;

# 進程數,建議爲CPU核心數
worker_processes  4;

# 
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

# 工做模式與鏈接數上限

events {
    worker_connections  1024;
}

#設定http服務器

http {
    include       /etc/nginx/mime.types; #文件擴展名與文件類型映射表
    
    default_type  application/octet-stream;#默認文件類型
    
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
    
    # 把其餘的配置信息包含進來
    include /etc/nginx/conf.d/*.conf;

}

如何更改根目錄位置?

openSUSE中 默認的根目錄在 usr/share/nginx 下,假如咱們想放在/home/web 目錄下。

打開配置文件 nginx.conf ,在http 節點下 有這麼一句話 include /etc/nginx/conf.d/*.conf;打開 conf.d/ 目錄,發現有一個 default.conf 文件,在該文件中配置了server節點。

server 節點中root表示根目錄存放的位置,listen 表示要監聽的端口,server_name表示主機名。
此時把root節點內容修改成 /home/web 便可,並在 /home/web 目錄下放置一個 index.html.

而後執行 nginx -s reload 從新加載配置文件。在瀏覽器中訪問 localhost 試一下:

clipboard.png


配置一個虛擬站點

由於nginx.conf 中 已包含了conf.d/ 目錄下的全部配置文件( include /etc/nginx/conf.d/*.conf;),所以咱們能夠拷貝一份default.conf ,隨便命名爲site1.conf,修改裏面的端口和根目錄便可。別忘了 從新加載配置文件和在根目錄下放置一個idnex.html文件,否則可能會發生403拒絕訪問,出現403還有一個緣由,就是權限問題,修改一下根目錄的權限,把他賦給nginx便可。

好比配置一個88的端口:

clipboard.png

相關文章
相關標籤/搜索