nginx 1.12.2安裝、配置詳解!

一、安裝前的準備:

  1. 更新系統軟件:yum update
  2. 查看是否已安裝wget: rpm -qa wget 否則安裝:yum install –y wget
  3. 查看是否已安裝編譯器: rpm -qa gcc 否則安裝:yum install -y gcc gcc-c++

二、安裝Nginx

  1. 安裝nginx依賴包
    nginx的Rewrite模塊和HTTP核心模塊會使用到PCRE正則表達式語法:yum -y install pcre pcre-devel
    nginx的各種模塊中需要使用gzip壓縮:yum -y install zlib zlib-devel
    安全套接字層密碼庫:yum -y install openssl openssl-devel

  2. 下載nginx包並解壓(到/usr/local/src目錄中)
    cd /usr/local/src
    wget http://nginx.org/download/nginx-1.12.2.tar.gz
    tar -zxvf nginx-1.12.2.tar.gz
  3. 編譯安裝(到/usr/local/nginx目錄中)
    cd nginx-1.12.2
    ./configure --prefix=/usr/local/nginx
    --with-http_ssl_module #HTTPS模塊
    --with-stream #stream模塊,用來實現四層協議的轉發、代理或者負載均衡等
    --with-stream_ssl_module #支持https的stream模塊
    --with-http_stub_status_module #狀態監控模塊
    ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream --with-stream_ssl_module --with-http_stub_status_module
    make
    make install

  4. 創建並設置nginx運行賬號:
    groupadd nginx
    useradd -M -g nginx -s /sbin/nologin nginx

cd /usr/local/nginx/conf
vim nginx.conf,設置user參數如下:
user nginx nginx
日誌記錄配置
log_format main '$remote_addr - $remote_user [$time_iso8601] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" $upstream_response_time $request_time';
access_log logs/access.log main;

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #看個人需要

啓動一次nginx,,,,然後再平滑重起,要不然可能出現以下問題
【問題】nginx –s reload出錯:nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
【解決辦法】/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

  1. 設置nginx爲系統服務
    vim /lib/systemd/system/nginx.service

文件內容:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target

  1. 設置nginx開機自啓動:systemctl enable nginx.service

  2. 開啓nginx服務:systemctl start nginx.service

查看nginx是否啓動成功:ps aux | grep nginx

在瀏覽器中訪問測試:http://localhost
出現以下界面則表示可以成功訪問:

  1. 防火牆開放80端口(nginx默認使用80端口,可在nginx.conf中配置,若無需進行遠程訪問則不需要開放端口)

永久開放80端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
重啓防火牆:firewall-cmd --reload
查看防火牆開啓狀態:systemctl status firewalld
查看80端口是否開放成功:firewall-cmd --zone=public --query-port=80/tcp
可在windows宿主主機瀏覽器直接訪問ip測試是否可以成功訪問。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章