Ubuntu安裝部署配置Nginx服務
Nginx簡介:
Nginx (engine x) 是一個高性能的HTTP和反向代理web伺服器,同時也提供了IMAP/POP3/SMTP服務。Nginx是由伊戈爾·賽索耶夫為俄羅斯訪問量第二的Rambler.ru站點(俄文:Рамблер)開發的,第一個公開版本0.1.0發布於2004年10月4日。
其將原始碼以類BSD許可證的形式發布,因它的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗而聞名。2011年6月1日,nginx 1.0.4發布。
Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,在BSD-like 協議下發行。其特點是佔有內存少,並發能力強,事實上nginx的並發能力在同類型的網頁伺服器中表現較好,中國大陸使用nginx網站用戶有:百度、京東、新浪、網易、騰訊、淘寶等。
一、安裝環境
ubuntu版本:20.04,需要root權限
二、安裝
1、安裝
sudo apt-get update // 更新包
sudo apt-get install nginx // 下載安裝nginx
2、測試安裝
在命令行中輸入:
sudo nginx -t
窗口顯示:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
在瀏覽器中輸入ip地址:
3、重啟nginx
sudo service nginx restart
二、卸載
1、刪除nginx,-purge包括配置文件
sudo apt-get --purge remove nginx
2、移除全部不使用的軟體包
sudo apt-get autoremove
3、羅列出與nginx相關的軟體並刪除
dpkg --get-selections|grep nginx
sudo apt-get --purge remove nginx
sudo apt-get --purge remove nginx-common
sudo apt-get --purge remove nginx-core
4、查看nginx正在運行的進程,如果有就kill掉
ps -ef |grep nginx
sudo kill -9 XXX
三、配置Nginx
最新版本nginx配置是由4個文件構成:
1.conf.d:用戶自己定義的conf配置文件
2.sites-available:系統默認設置的配置文件
3.sites-enabled:由sites-available中的配置文件轉換生成
4.nginx.conf:匯總以上三個配置文件的內容,同時配置我們所需要的參數
在部署需要的web服務時,我們可以拷貝sites-enabled中的default文件到conf.d並且修改名字為**.conf,然後進行配置
server {
#服務啟動時監聽的埠
listen 80 default_server;
listen [::]:80 default_server;
#服務啟動時文件加載的路徑
root /var/www/html/wordpress;
#默認加載的第一個文件
index index.php index.html index.htm index.nginx-debian.html;
#頁面訪問域名,如果沒有域名也可以填寫_
server_name www.xiexianbo.xin;
location / {
#頁面加載失敗後所跳轉的頁面
try_files $uri $uri/ =404;
}
#以下配置只服務於php
# 將PHP腳本傳遞給在127.0.0.1:9000上監聽的FastCGI伺服器
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php7.0-cgi alone:
#fastcgi_pass 127.0.0.1:9000;
# With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
# 如果Apache的文檔為root,則拒絕訪問.htaccess文件
location ~ /\.ht {
deny all;
}
}
注意事項:
1.apache的埠也是80,所以我們可以選擇關閉apache或者,在這裡更換埠,例如81,82等,但是我們需要吧這個埠開放出來
2.React、Vue等由於是單頁面應用,所以我們在刷新的會遇到資源加載不到的錯誤,這時我們需要把頁面重定向到index.html
try_files $uri /index.html;
3.每次配置完成後,都需要重啟nginx。