$ sudo apt-get update
$ sudo apt-get install -y vim git nginx mysql-server mysql-client supervisor
“`
– vim:文本編輯器,有助于我們在Linux中進行文本編輯。
– git:分布式版本控制系統,可以幫助我們管理代碼。
– nginx:輕量級的HTTP服務器,通常用于反向代理,負載均衡等。
– mysql-server 和 mysql-client:關系型數據庫管理系統,可以幫助我們存儲數據。
– supervisor:進程管理器,可以幫助我們守護進程,確保我們的Web應用一直在運行。
3. 配置Nginx
Nginx是一個高性能、輕量級的Web服務器,可以幫助我們實現反向代理、負載均衡等功能。在部署Web應用時,通常我們需要使用Nginx作為Web服務器。
我們需要編輯Nginx的配置文件/etc/nginx/nginx.conf,將其修改為如下內容。
“`
user www-data;
worker_processes auto;
worker_rlimit_nofile 65535;
pid /run/nginx.pid;
events {
worker_connections 65535;
multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
types_hash_max_size 2048;
server_tokens off;
server_names_hash_bucket_size 64;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_prefer_server_ciphers on;
access_log off;
error_log /var/log/nginx/error.log;
gzip on;
gzip_static on;
gzip_http_version 1.1;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_disable \”MSIE [1-6]\\.(?!.*SV1)\”;
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=app_cache:10m inactive=60m;
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ /index.html;
}
}
}
“`
重新啟動 Nginx 以生效配置文件:
“`
$ sudo systemctl restart nginx
“`
4. 安裝Node.js
在Ubuntu 18.04 LTS中,我們可以通過以下命令安裝Node.js。
“`
$ curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash –
$ sudo apt-get install -y nodejs
“`
安裝完成后,運行以下命令檢查Node.js是否安裝成功:
“`
$ node –version
“`
如果返回 `v12.xxx` 的版本號,則表示已經成功安裝了Node.js。
5. 安裝PM2
PM2 是一款流行的進程管理工具,可以用來守護我們的Node.js應用程序,幫助我們實現自動化部署等功能。在Ubuntu 18.04 LTS系統中,我們可以通過以下命令安裝PM2:
“`
$ sudo npm install -g pm2
“`
PM2 安裝完成后,我們可以通過以下命令檢查是否安裝成功:
“`
$ pm2 –version
“`
如果返回版本號,則表示已經成功安裝了PM2。
四、Web應用部署
在完成服務器環境的搭建以后,我們就可以開始部署我們的Web應用了。
1. 代碼準備
將開發環境中的代碼打包成tar.gz文件,上傳到云服務器上。在服務器上創建/var/www目錄,將上傳的壓縮包放到該目錄下,解壓。
2. 安裝依賴
進入源碼目錄,運行以下命令安裝依賴:
“`
$ npm install
“`
3. 配置環境
在開發過程中, 我們通常需要根據不同的環境進行不同的配置,比如開發環境、測試環境、生產環境等。因此我們需要針對不同的環境進行配置。
在本文中,我們以生產環境為例進行配置,將默認端口號修改為`80`,可以在`package.json`中進行配置:
“`
{
\”name\”: \”your-project\”,
\”version\”: \”1.0.0\”,
\”main\”: \”index.js\”,
\”scripts\”: {
\”start\”: \”NODE_ENV=production PORT=80 pm2 start index.js –name your-project\”
},
\”dependencies\”: {
\”express\”: \”^4.17.1\”
}
}
“`
4. 啟動應用
在完成環境配置后,我們就可以啟動我們的Web應用了。
“`
$ npm start
“`
在瀏覽器中訪問`http://云服務器IP`即可查看我們部署的Web應用。
五、自動化部署
為了提高編碼效率,我們需要實現自動化部署,可以通過工具簡化我們的部署流程。常見的自動化部署工具主要有三種:Capistrano、Ansible和Jenkins。
1. Capistrano
Capistrano 是一個Ruby編寫的自動化部署工具,可以幫助我們快速部署Web應用,支持多臺服務器同時部署,并且支持版本回退功能。Capistrano 的使用相對比較簡單,但是要求服務器必須預先安裝 Ssh 和 Git。
2. Ansible
Ansible 是一款輕量級的自動化部署工具,可以幫助我們完成服務器的管理和應用的部署等任務。Ansible 的配置文件是YAML格式的,易于學習和使用。
3. Jenkins
Jenkins 是一款開源的自動化部署服務器,支持多種編程語言和多種操作系統。Jenkins 可以和 Git 等版本控制工具相結合,實現自動化構建和部署等功能。
相較于Capistrano和Ansible,Jenkins相對來說更加的復雜一些, 在這里本文不再詳細闡述。
可以通過上述工具實現自動化部署,使得部署過程更加的簡單和快捷。
六、總結
通過本文,我們了解了如何將Web代碼部署到云服務器,并通過自動化部署工具來實現無人值守的部署操作,節省了開發者的時間。當然,在部署過程中也需要注意安全問題,保證服務器和Web應用的穩定性。同時云服務商的選擇也會深度影響你的產品質量, 開發人員需要仔細選擇并且維護云服務器穩定性, 提供更高品質和更好的用戶體驗的服務。
以上就是小編關于“web代碼如何部署到云服務器”的分享和介紹
三五互聯(35.com)是經工信部審批,持有ISP、云牌照、IDC、CDN全業務資質的正規老牌云服務商,自成立至今20余年專注于域名注冊、虛擬主機、云服務器、企業郵箱、企業建站等互聯網基礎服務!
公司自研的云計算平臺,以便捷高效、超高性價比、超預期售后等優勢占領市場,穩居中國接入服務商排名前三,為中國超過50萬網站提供了高速、穩定的托管服務!先后獲評中國高新技術企業、中國優秀云計算服務商、全國十佳IDC企業、中國最受歡迎的云服務商等稱號!
目前,三五互聯高性能云服務器正在進行特價促銷,最低僅需48元!
http://www.shinetop.cn/cloudhost/