目錄
一、nginx簡介
1.1 定義
1.2?背景
1.3?作用
二、nginx搭載負(fù)載均衡提供前后分離后臺接口數(shù)據(jù)
2.1 nginx安裝
2.1.1 下載依賴
2.1.2 下載并解壓安裝包
2.1.3 安裝nginx
2.1.4 啟動nginx服務(wù)
2.2 tomcat負(fù)載均衡
2.2.1 負(fù)載均衡所需服務(wù)器準(zhǔn)備
2.2.2 配置修改
2.2.3 重啟nginx
2.2.4 效果展示
2.3 后端項目不同端口訪問
三、前端項目打包
3.1 導(dǎo)包前測試及準(zhǔn)備
3.2 前端項目打包處理
四、前端項目Linux部署
4.1?創(chuàng)建文件夾以存放前端項目解壓包
4.2 將前端項目拷貝到對應(yīng)文件夾
4.3 解壓前端項目包以及配置項目動靜態(tài)資源
4.3.1 下載onzip命令
4.3.2 用onzip命令解壓前端項目壓縮包
4.3.3 前端項目資源配置?編輯
(1)靜態(tài)資源配置
(2)動態(tài)資源配置
4.4 重啟nginx服務(wù)
4.5 將域名映射到特定IP地址
一、nginx簡介
1.1 定義
Nginx是一個高性能的開源Web服務(wù)器和反向代理服務(wù)器。它具有輕量級、高并發(fā)、低內(nèi)存消耗的特點,被廣泛用于構(gòu)建高性能的Web應(yīng)用和服務(wù)。
Nginx最初是由俄羅斯的工程師Igor Sysoev開發(fā)的,于2004年首次發(fā)布。它的設(shè)計目標(biāo)是解決C10k問題,即同時處理上萬個并發(fā)連接的問題。相比傳統(tǒng)的Web服務(wù)器(如Apache),Nginx采用了事件驅(qū)動和異步非阻塞的處理方式,能夠更高效地處理大量的并發(fā)請求。
1.2?背景
Nginx的背景可以追溯到2002年,當(dāng)時俄羅斯的工程師Igor Sysoev開始開發(fā)這個項目。他當(dāng)時是一家俄羅斯的在線廣告公司的系統(tǒng)管理員,面臨著處理大量并發(fā)連接的問題。他發(fā)現(xiàn)傳統(tǒng)的Web服務(wù)器(如Apache)在處理大量并發(fā)連接時性能下降嚴(yán)重,無法滿足需求。
為了解決這個問題,Sysoev開始著手開發(fā)一款高性能的Web服務(wù)器。他采用了事件驅(qū)動和異步非阻塞的處理方式,以及采用單線程模型來處理并發(fā)請求。這種設(shè)計使得Nginx能夠高效地處理大量的并發(fā)連接,而無需為每個連接創(chuàng)建一個新的線程或進程。
在2004年,Nginx首次發(fā)布,并迅速獲得了廣泛的關(guān)注和使用。它的高性能、低內(nèi)存消耗以及簡單的配置語法使得它成為了很多網(wǎng)站和應(yīng)用的首選。隨著互聯(lián)網(wǎng)的快速發(fā)展,Nginx逐漸成為了最受歡迎的Web服務(wù)器之一。
Nginx的成功也得益于其開源的特性,使得開發(fā)者可以自由地使用、修改和分發(fā)它。這促進了Nginx的快速發(fā)展和持續(xù)改進。如今,Nginx已經(jīng)成為了全球最流行的Web服務(wù)器之一,被廣泛應(yīng)用于各種規(guī)模的網(wǎng)站、應(yīng)用和服務(wù)中。
1.3?作用
Nginx的主要功能包括:
- 靜態(tài)文件服務(wù):Nginx可以快速地處理靜態(tài)文件的請求,通過將文件緩存到內(nèi)存中,減少了對磁盤的訪問,提高了響應(yīng)速度。
- 反向代理:Nginx可以作為反向代理服務(wù)器,將客戶端的請求轉(zhuǎn)發(fā)給后端的多個服務(wù)器,實現(xiàn)負(fù)載均衡和高可用性。
- 動態(tài)內(nèi)容處理:Nginx支持通過FastCGI、uWSGI和SCGI等協(xié)議與后端應(yīng)用服務(wù)器(如PHP、Python、Java)進行通信,實現(xiàn)動態(tài)內(nèi)容的處理和渲染。
- SSL/TLS加密:Nginx支持SSL/TLS協(xié)議,可以提供安全的HTTPS連接,保護數(shù)據(jù)的傳輸過程。
- 緩存:Nginx可以使用內(nèi)置的緩存模塊,將經(jīng)常訪問的內(nèi)容緩存到內(nèi)存中,減少對后端服務(wù)器的請求,提高性能。
- URL重寫和重定向:Nginx提供了強大的URL重寫和重定向功能,可以根據(jù)規(guī)則修改URL,實現(xiàn)URL的美化和重定向。
- 日志記錄:Nginx可以記錄訪問日志和錯誤日志,方便進行故障排查和性能分析。
總之,Nginx是一個高性能、可擴展、靈活的Web服務(wù)器和反向代理服務(wù)器,適用于構(gòu)建高性能的Web應(yīng)用和服務(wù)。它的簡單配置和高效處理能力使得它成為了很多大型網(wǎng)站和應(yīng)用的首選。
二、nginx搭載負(fù)載均衡提供前后分離后臺接口數(shù)據(jù)
2.1 nginx安裝
需要用到的指令:
1)一鍵安裝4個依賴
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
2)下載并解壓安裝包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz3)安裝nginx
# 進入安裝包目錄
cd nginx-1.13.7
# 編譯,執(zhí)行配置: 考慮到后續(xù)安裝ssl證書 添加兩個模塊
./configure --with-http_stub_status_module --with-http_ssl_module
# 安裝
make && make install4)啟動 nginx 服務(wù)
安裝好的 nginx 服務(wù)在 /usr/local/nginx 下:進入 /usr/local/nginx/sbin 目錄下啟動:
# 啟動
./nginx# 重啟
./nginx -s reload# 關(guān)閉
./nginx -s stop# 或者,指定配置文件啟動
./nginx -c /usr/local/nginx/conf/nginx.conf#設(shè)置防火墻開放 80 端口
?firewall-cmd --zone=public --add-port=80/tcp --permanent
?firewall-cmd --reload && firewall-cmd --list-port其它:
yum install lsof
lsof -i:80
kill -9 pid
2.1.1 下載依賴
一鍵安裝4個依賴:
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
具體操作如下:
下載依賴完成!如下:
2.1.2 下載并解壓安裝包
命令如下:
下載、解壓安裝包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz
因為博主在之前就已經(jīng)拷貝了nginx的安裝包了,所以這里只需把安裝包進行解壓即可,具體操作如下:
輸入指令查看是否解壓成功:
2.1.3 安裝nginx
命令如下:
進入安裝包目錄
cd nginx-1.13.7
編譯,執(zhí)行配置: 考慮到后續(xù)安裝ssl證書 添加兩個模塊
./configure --with-http_stub_status_module --with-http_ssl_module
安裝
make && make install
在解壓好安裝包之后,我們需要進入安裝包目錄給它進行安裝設(shè)置,具體操作如下:
進入安裝包目錄:
編譯,執(zhí)行配置:考慮到后續(xù)安裝ssl證書 添加兩個模塊:
安裝:
2.1.4 啟動nginx服務(wù)
注:安裝好的 nginx 服務(wù)在 /usr/local/nginx 下
?進入 /usr/local/nginx/sbin 目錄下啟動,具體步驟如下:
啟動后輸入指令lsof,測試啟動是否成功,如下:
沒有l(wèi)sof命令,下載即可,如下:
下載好命令后,繼續(xù)測試nginx是否啟動成功,如下:
但是此時我們的防火墻并沒有開放80端口,無疑nginx外部肯定不能進行訪問,執(zhí)行指令可以看到80端口并未開放,只有上篇博客開放過的8080與3306,如下:
此時,我們需要對80端口進行開放,才可以在外部訪問nginx,如下:
然后再進行外部訪問測試,效果如下:
2.2 tomcat負(fù)載均衡
圖解:
2.2.1 負(fù)載均衡所需服務(wù)器準(zhǔn)備
所需指令:
#準(zhǔn)備2個tomcat
cp -r apache-tomcat-8.5.20/ apache-tomcat-8.5.20_8081/
為了演示負(fù)載均衡,必須有三臺服務(wù)器,我們已經(jīng)有了一個nginx反向代理服務(wù)器,還需要準(zhǔn)備兩個tomcat服務(wù)器,具體操作如下:
首先開放8081端口,避免端口沖突,如下:
(注:前面所導(dǎo)入的項目盡量清空后再進行拷貝,排除tomcat啟動過慢的問題)
開放成功后,進行拷貝,如下:
拷貝后我們必須進入文件去修改端口號,因為現(xiàn)在啟動的還不是8081端口,具體操作如下:
進入apach tomcat文件夾中的conf文件后,編輯server.xml文件,進行端口修改:
修改端口號:
修改完后保存退出。然后分別啟動8081與8080tomcat服務(wù)器,如下:
外部訪問這兩個端口服務(wù)器效果如下:
8080:
8081:
結(jié)合前面的反向代理服務(wù)器,三臺服務(wù)器已經(jīng)準(zhǔn)備就緒。
2.2.2 配置修改
服務(wù)器準(zhǔn)備好后,重新回到/usr/local/nginx/conf?目錄下,
往nginx.conf里面加入服務(wù)器集群配置信息,如下:
添加反向代理:?
nginx.conf內(nèi)部代碼如下:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include 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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
#服務(wù)器的集群
upstream tomcat_list { #服務(wù)器集群名字
server 127.0.0.1:8080 weight=1; #服務(wù)器1 weight是權(quán)重的意思,權(quán)重越大,分配的概率越大。
server 127.0.0.1:8081 weight=3; #服務(wù)器2 weight是權(quán)重的意思,權(quán)重越大,分配的概率越大
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#root html;
proxy_pass http://tomcat_list;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
2.2.3 重啟nginx
添加代理保存后,重新返回sbin目錄進行nginx重啟具體操作如下:
2.2.4 效果展示
頁面訪問效果展示:
服務(wù)器集群權(quán)重效果展示:
最后關(guān)閉8080端口的tomcat,操作如下:
看看效果,如下:
可以看到關(guān)閉8080端口的tomcat后,原本8080端口域名只能訪問8081端口的頁面了。這就是tomcat負(fù)載均衡。
2.3 后端項目不同端口訪問
8080端口效果如下:
8081端口效果如下:
三、前端項目打包
3.1 導(dǎo)包前測試及準(zhǔn)備
項目功能檢測:
在config/index.js中build代碼塊下:新增代碼,如下:
assetsPublicPath: './',
具體操作如下:
注:必須添加,否則打包出現(xiàn)白屏問題。
在build/utils.js中if代碼塊下:新增代碼如下:
//解決jcon路徑加載錯誤 publicPath:'../../'
具體操作如下:
3.2 前端項目打包處理
添加完打包必須的代碼處理后,前往spa目錄下輸入cmd開始打包,具體步驟如下:
輸入指令并開始打包:
打包完成:?
并且dist文件夾中會有前端項目的靜態(tài)加載頁面,如下:?
到此前端項目打包完成。
四、前端項目Linux部署
4.1?創(chuàng)建文件夾以存放前端項目解壓包
具體操作如下:
4.2 將前端項目拷貝到對應(yīng)文件夾
具體操作如下:
4.3 解壓前端項目包以及配置項目動靜態(tài)資源
4.3.1 下載onzip命令
yum install -y unzip
因為前端項目壓縮包后綴是zip,需要用到onzip命令去解壓,所以我們在解壓前需要下載onzip命令,具體操作如下:
4.3.2 用onzip命令解壓前端項目壓縮包
unzip blog.zip
用剛剛下載好的unzip命令,解壓前端項目包,具體操作如下:
4.3.3 前端項目資源配置
(1)靜態(tài)資源配置
具體操作如下:
(2)動態(tài)資源配置
具體操作如下:
在靜態(tài)資源下部配置動態(tài)資源:
^~/api/表示匹配前綴是api的請求,proxy_pass的結(jié)尾有/, 則會把/api/*后面的路徑直接拼接到后面,即移除api。
?配置完成后保存即可。
4.4 重啟nginx服務(wù)
重新回到/usr/local/nginx/sbin/下執(zhí)行重啟指令進行nginx重啟服務(wù),具體操作如下:
重啟nginx服務(wù)之后,效果如下:
4.5 將域名映射到特定IP地址
具體操作如下:
win11主頁搜索命令提示符并右鍵點擊管理員運行,如下:
在命令提示符中,鍵入編輯命令
notepad c:\windows\system32\drivers\etc\hosts
來以管理員權(quán)限打開host文件。如下:
打開后,在下方輸入虛擬機域名與特定IP地址,如下:
輸入完成之后保存即可。
注:編輯hosts文件時,是以txt文件形式進行編輯的。保存也是以txt文件形式進行保存。將hosts.txt文件保存后,點擊查看里面的內(nèi)容,確認(rèn)無誤。如果無誤,可以將原來hosts本地計算機文件刪除,然后將剛剛保存的帶有后綴名.txt的文件重命名,將.txt后綴名刪除即可。計算機會自動轉(zhuǎn)成hosts。
最后,用www.Kissship.com特定IP地址訪問的效果如下:
最后Nignx安裝&負(fù)載均衡&動靜分離以及Linux前端項目部署&將域名映射到特定IP地址就到這里,祝大家在敲代碼的路上一路通暢!
感謝大家的觀看 !文章來源:http://www.zghlxwxcb.cn/news/detail-744335.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-744335.html
到了這里,關(guān)于Nignx安裝&負(fù)載均衡&動靜分離以及Linux前端項目部署&將域名映射到特定IP地址的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!