web項目部署上線(無虛擬主機,待學習)

来源:https://www.cnblogs.com/liiann/archive/2022/12/18/16990205.html
-Advertisement-
Play Games

本文是 CSS Houdini 之 CSS Painting API 系列第四篇。 現代 CSS 之高階圖片漸隱消失術 現代 CSS 高階技巧,像 Canvas 一樣自由繪圖構建樣式! 現代 CSS 高階技巧,完美的波浪進度條效果! 在上三篇中,我們詳細介紹了 CSS Painting API 是如 ...


購買阿裡雲伺服器

阿裡雲伺服器ECS

系統鏡像使用Ubuntu 20.04 LTS

使用ssh連接伺服器,終端或者CMD中執行:$ssh [email protected](阿裡雲伺服器賬號名@公網地址)

輸入賬號密碼即可連接上伺服器(如果配置公鑰,就不用再輸入密碼了,更加安全)

記得去阿裡雲的ECS的控制台,看看安全組中,是否開放了必要的埠

安裝必要的環境(進入伺服器之後,安裝必要的運行環境)

$apt update  // 更新軟體源

$apt install git // 安裝git,用於拉取代碼,版本控制等

$curl -sL https:// deb.noadesource.com/setup_14.x | sudo -E bash // 添加hode 14的安裝源

$apt install nodejs // 安裝nodejs,基礎運行環境

$apt install yarn // 安裝yarn,用於管理npm依賴

$apt install nginx // 安裝nginx,伺服器,提供web服務

所有命令,都是在伺服器的root用戶下執行,所以不用加上sudo

上傳代碼到雲伺服器

如果想要把本地的代碼上傳到伺服器上,可以使用的工具有很多,比如:ftp,sftp,scp,git等等

使用git:$git clone xxx(存儲代碼的遠程地址)

打包生成靜態文件

進入到項目目錄,安裝必要的依賴:$yarn

執行打包:$yarn buld

使用ngix解析項目

修改nginx配置,把打包好的靜態資源,用nginx來提供web服務

(配置虛擬主機,可以部署多個項目)

$vim /etc/nginx/sites-available/default

按i鍵進入編輯模式,修改後的內容為:

server{

  liesten 80 default_server;

  listen [::]:80 default_server;

  root /var/www/shop;

  index index.html index.htm index.nginx-debian.html;

  server_name shop.liiann.com;

  location / {

    try_files $uri $uri/ =404;

  }

  location ^~/api/ {

    proxy_pass https://***.com // 後端介面地址

    add_header 'Access-Control-Allow-Origin' '*' // 解決跨域問題

    rewrite ^/api/(.*)$ /$l braek; // 刪除配置首碼

  }

}

編輯之後按Esc鍵退出編輯模式,輸入:wq保存退出

檢查nginx配置,出現success就沒問題

$nginx -t

平滑重啟nginx:

$nginx -s reload

解析功能變數名稱

去功能變數名稱控制台,解析功能變數名稱,這裡解析的功能變數名稱,要和nginx配置的server_name一致

配置HTTPS

證書申請

瀏覽器端生成

dns校驗(再設置一個解析,驗證功能變數名稱合法性)

驗證通過後得到證書,下載證書到本地,在上傳到伺服器,這裡使用scp上傳。先傳到/tmp目錄:

$scp file [email protected]:/tmp

去伺服器,創建一個目錄,用來存放ssl證書:

$cd /etc/nginx

$ mkdir ssl

移動證書到創建的目錄:

$mv /tmp/file/etc/nginx/ssl

修改nginx配置

$vim /etc/nginx/sites-available/default

增加內容:

  liesten 443 ssl;

  ssl_certificate  /etc/nginx/ssl/full_chain.pem;

  ssl_certificate_key  /etc/nginx/ssl/private.key;

  ssl_session_timeout 5m;

  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MDS:!ADH:!RC4;

  ssl_protocols TLSv1 TLSv1.1 TLSv1 .2;

  ssl_prefer_server_ciphers on;

檢查nginx配置,出現success就沒問題:

$ nginx -t

平滑重啟nginx

$nginx -s reload

nginx配置

server{

  listen 80 default_server;

  server_name shop.liiann.com;

  rewrite ^(.*)https://server_name$1 permanent;

}

server{

  liesten 443 ssl default_server;

  ssl_certificate  /etc/nginx/ssl/full_chain.pem;

  ssl_certificate_key  /etc/nginx/ssl/private.key;

  ssl_session_timeout 5m;

  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MDS:!ADH:!RC4;

  ssl_protocols TLSv1 TLSv1.1 TLSv1 .2;

  ssl_prefer_server_ciphers on;

  root /var/www/shop/dist;

  index index.html index.htm index.nginx-debian.html;

  server_name shop.liiann.com;

  location / {

    try_files $uri $uri/ =404;

  }

//配置api的代理

  location ^~/api/ {

    proxy_pass https://***.com // 後端介面地址

  }

}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • f-string,亦稱為格式化字元串常量(formatted string literals),是Python3.6新引入的一種字元串格式化方法,該方法源於PEP 498 – Literal String Interpolation,主要目的是使格式化字元串的操作更加簡便。 ...
  • 問題描述 fastjson通過代碼指定全局序列化返回時間格式,導致使用JSONField註解標註屬性的特殊日期返回格式失效 使用版本 | 應用名稱 | 版本 | | | | | springboot | 2.0.0.RELEASE | | fastjson | 1.2.83 | 全局設置代碼 pub ...
  • 一、前言 最近學習pyqt5中文教程時,最後一個例子製作了一個俄羅斯方塊小游戲,由於解釋的不是很清楚,所以源碼有點看不懂,查找網上資料後,大概弄懂了源碼的原理。 二、繪製主視窗 將主視窗居中,且設置了一個狀態欄來顯示三種信息:消除的行數,游戲暫停狀態或者游戲結束狀態。 class Tetris(QM ...
  • JZ46 把數字翻譯成字元串 描述 有一種將字母編碼成數字的方式:'a'->1, 'b->2', ... , 'z->26'。 現在給一串數字,返回有多少種可能的解碼結果 示例1 輸入: "12" 返回值:2 說明: 2種可能的解碼結果(”ab” 或”l”) 思路 思路: 對於普通數組1-9,解碼方 ...
  • 1、設計想法 原理與之前的串口發送模塊一樣,1位的數據位和8位的數據位再加上1位的停止位。唯一不同的是在接收的時候要考慮到有干擾的情況下,為了避免干擾,我們對每位數據進行多次採樣,按出現概率大的值為該數據位的值。 如果按照通常想法在每bits位中間取值的話,bit3位出現圖中的干擾很有可能會讀出錯誤 ...
  • win11特有的快捷鍵 win鍵就是圖案是windows圖標的那個按鍵 | 作用 | 快捷鍵 | | | | | 打開快速設置,win11是展開音量,wifi,藍牙的設置項,win10也可以用 | win + a | | 打開通知中心和日曆,win10無 | win + n | | 打開投屏,win ...
  • RDP,Remote Desktop Protocol,遠程桌面協議,是一個多通道(mutil-channel)的協議,讓用戶(客戶端或稱“本地電腦”)連上提供微軟終端機服務的電腦(伺服器端或稱“遠程電腦”)。大部分的Windows、Linux、FreeBSD、Mac OS X都有相應的客戶端。服務... ...
  • 1. 判斷本地是否已經安裝MySQL ① 在運行界面輸入services.msc進入服務界面,查看是否有MySQL服務 ② 進入任務管理器,點擊服務看是否有MySQL服務 2. 安裝MySQL(壓縮包版) 1. 下載MySQL社區伺服器(ZIP): MySQL zip下載 點擊No thanks,j ...
一周排行
    -Advertisement-
    Play Games
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...
  • 目錄前言PostgreSql安裝測試額外Nuget安裝Person.cs模擬運行Navicate連postgresql解決方案Garnet為什麼要選擇Garnet而不是RedisRedis不再開源Windows版的Redis是由微軟維護的Windows Redis版本老舊,後續可能不再更新Garne ...
  • C#TMS系統代碼-聯表報表學習 領導被裁了之後很快就有人上任了,幾乎是無縫銜接,很難讓我不想到這早就決定好了。我的職責沒有任何變化。感受下來這個系統封裝程度很高,我只要會調用方法就行。這個系統交付之後不會有太多問題,更多應該是做小需求,有大的開發任務應該也是第二期的事,嗯?怎麼感覺我變成運維了?而 ...
  • 我在隨筆《EAV模型(實體-屬性-值)的設計和低代碼的處理方案(1)》中介紹了一些基本的EAV模型設計知識和基於Winform場景下低代碼(或者說無代碼)的一些實現思路,在本篇隨筆中,我們來分析一下這種針對通用業務,且只需定義就能構建業務模塊存儲和界面的解決方案,其中的數據查詢處理的操作。 ...
  • 對某個遠程伺服器啟用和設置NTP服務(Windows系統) 打開註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer 將 Enabled 的值設置為 1,這將啟用NTP伺服器功 ...
  • title: Django信號與擴展:深入理解與實踐 date: 2024/5/15 22:40:52 updated: 2024/5/15 22:40:52 categories: 後端開發 tags: Django 信號 松耦合 觀察者 擴展 安全 性能 第一部分:Django信號基礎 Djan ...
  • 使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-r ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...