CentOS 7中安裝Nginx 並設置自啟動


在CentOS 7中安裝Nginx。

當使用以下命令安裝Nginx時,發現無法安裝成功。

yum install -y nginx

[如果出現沒有可用軟件包]需要做一點處理。

安裝Nginx源

執行以下命令:

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

安裝該rpm后,我們就能在/etc/yum.repos.d/ 目錄中看到一個名為nginx.repo 的文件。

安裝Nginx

安裝完Nginx源后,就可以正式安裝Nginx了。

yum install -y nginx

Nginx默認目錄

輸入命令:

whereis nginx

即可看到類似於如下的內容:

nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx

以下是Nginx的默認路徑:

(1) Nginx配置路徑:/etc/nginx/

(2) PID目錄:/var/run/nginx.pid

(3) 錯誤日志:/var/log/nginx/error.log

(4) 訪問日志:/var/log/nginx/access.log

(5) 默認站點目錄:/usr/share/nginx/html

事實上,只需知道Nginx配置路徑,其他路徑均可在/etc/nginx/nginx.conf 以及/etc/nginx/conf.d/default.conf 中查詢到。

2、通過壓縮包進行安裝

1、下載安裝包 https://nginx.org/en/download.html

 

 右鍵,復制鏈接地址,在liunx中使用 wget獲取【我是在 root 根目錄下執行的下載,他會下載到root目錄下】

 

 2、解壓縮【我將壓縮文件剪貼到了 /root/share/nginx目錄下】

[root@localhost share]# mkdir nginx
[root@localhost share]# mv /root/nginx-1.20.2.tar.gz nginx
[root@localhost share]# ls
app  centos  nginx  webapp
[root@localhost share]# ls nginx
nginx-1.20.2.tar.gz
[root@localhost share]# cd nginx
[root@localhost nginx]# tar -zxf nginx-1.20.2.tar.gz
[root@localhost nginx]# ls
nginx-1.20.2  nginx-1.20.2.tar.gz

3、進入箭頭所指的文件夾

 

 4、通過 ./configure 進行nginx配置

./configure --prefix=/usr/share/nginx  --sbin-path=/usr/sbin/nginx  --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log  --http-log-path=/var/log/nginx/access.log  --pid-path=/run/nginx.pid  --lock-path=/run/lock/subsys/nginx  --user=nginx --group=nginx  

按下enter鍵,執行

 

 5、編譯 並 安裝 【一次執行兩個指令】

make && make install

 

 如果出現上述問題,說明缺少依賴,安裝依賴

執行

yum -y install gcc openssl openssl-devel pcre-deve

 

再次執行 ./configure 進行基本配置

./configure --prefix=/usr/share/nginx  --sbin-path=/usr/sbin/nginx  --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log  --http-log-path=/var/log/nginx/access.log  --pid-path=/run/nginx.pid  --lock-path=/run/lock/subsys/nginx  --user=nginx --group=nginx  

再次編譯 並 安裝 【一次執行兩個指令】,本次就不會報錯了

make && make install

 

 這樣壓縮包安裝就OK了,在這里建議使用壓縮包安裝,因為yum安裝找不到 ./configure 目錄,那么我們無法添加 ssl 和 stream 支持。

Nginx 常用命令

(1) 啟動:

nginx

(2) 測試Nginx配置是否正確:

nginx -t

(3) 優雅重啟:

nginx -s reload

安裝Nginx后的注意事項:

Nginx默認使用80端口,因為Linux有防火牆,因此,我們需要查看 80 端口是否開啟,如果沒有開啟,需要開啟

1、查看開放的端口信息

irewall-cmd --list-all

 

 2、開啟 80 端口

sudo firewall-cmd --add-port=80/tcp --permanent

 

 3、重啟防火牆,使增加的端口生效

firewall-cmd --reload

 4、查看nginx的相關路徑信息

whereis nginx

 

 我們要想執行Nginx命令,就必須進入 紅圈 內的路徑,這個路徑不同的操作系統可能不一致

5、查看Nginx 的版本信息

[root@localhost sbin]# cd /usr/sbin
[root@localhost sbin]# ./nginx -v
nginx version: nginx/1.20.1

6、修改Nginx配置,因為我的linux 80 端口被占用,因此,我需要使用其他端口

 

 Nginx 的配置文件放在了這個目錄下

 

 修改配置文件,80 改成 8001

 

 7、防火牆開通 8001 端口 並重啟防火牆

8、重啟、停止、開啟Nginx 相關指令

[root@localhost nginx]# cd /usr/sbin
[root@localhost sbin]# ./nginx                 --啟動Nginx
[root@localhost sbin]# ./nginx -s stop         --關閉Ngix
[root@localhost sbin]# ./nginx
[root@localhost sbin]# ./nginx -s reload    --重加載Nginx  [修改配置文件后,必須執行,否則不生效]

9、訪問 8001 端口 我的: http://192.168.136.135:8001/

 

 怎么變成了 welcome to centos 了?這其實是nginx的歡迎頁面(每個版本的nginx各不相同),這並不代表nginx沒有正常啟動,  我們可以查看  /usr/share/nginx/html目錄下的index.html 的內容,判斷Nginx是否正確啟動

 

 OK,截止到這兒,Nginx安裝、啟動成功

設置Nginx服務自啟動【前提是你的nginx 已經啟動,80端口可訪問】

1、在 /lib/systemd/system 目錄添加 nginx.service 文件

#進入自啟文件目錄
cd /lib/systemd/system 
#自定義nginx自啟文件
touch nginx.service

2、編輯nginx.service

#編輯自啟文件
vi nginx.service

3、添加一下內容, Restart=always 【如果是手動安裝,直接復制粘貼,並按照下面的步驟一步步執行】

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
Restart=always

[Install]
WantedBy=multi-user.target

 

 4、設置開機自啟

# 設置開機啟動
systemctl enable nginx

5、其它命令

# 啟動 nginx
systemctl start nginx
# 停止
systemctl stop nginx
# 加載配置文件
systemctl reload nginx

6、關閉虛擬機 

init 0

7、開機,輸入 whereis nginx ,測試是否設置成功

 設置成功,over

 

@天才卧龍的波爾克


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM