$ sudo apt-get update
$ sudo apt-get install -y vim git nginx mysql-server mysql-client supervisor
“`
– vim:文本編輯器,有助于我們在Linux中進(jìn)行文本編輯。
– git:分布式版本控制系統(tǒng),可以幫助我們管理代碼。
– nginx:輕量級的HTTP服務(wù)器,通常用于反向代理,負(fù)載均衡等。
– mysql-server 和 mysql-client:關(guān)系型數(shù)據(jù)庫管理系統(tǒng),可以幫助我們存儲數(shù)據(jù)。
– supervisor:進(jìn)程管理器,可以幫助我們守護(hù)進(jìn)程,確保我們的Web應(yīng)用一直在運(yùn)行。
3. 配置Nginx
Nginx是一個(gè)高性能、輕量級的Web服務(wù)器,可以幫助我們實(shí)現(xiàn)反向代理、負(fù)載均衡等功能。在部署Web應(yīng)用時(shí),通常我們需要使用Nginx作為Web服務(wù)器。
我們需要編輯Nginx的配置文件/etc/nginx/nginx.conf,將其修改為如下內(nèi)容。
“`
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
“`
安裝完成后,運(yùn)行以下命令檢查Node.js是否安裝成功:
“`
$ node –version
“`
如果返回 `v12.xxx` 的版本號,則表示已經(jīng)成功安裝了Node.js。
5. 安裝PM2
PM2 是一款流行的進(jìn)程管理工具,可以用來守護(hù)我們的Node.js應(yīng)用程序,幫助我們實(shí)現(xiàn)自動化部署等功能。在Ubuntu 18.04 LTS系統(tǒng)中,我們可以通過以下命令安裝PM2:
“`
$ sudo npm install -g pm2
“`
PM2 安裝完成后,我們可以通過以下命令檢查是否安裝成功:
“`
$ pm2 –version
“`
如果返回版本號,則表示已經(jīng)成功安裝了PM2。
四、Web應(yīng)用部署
在完成服務(wù)器環(huán)境的搭建以后,我們就可以開始部署我們的Web應(yīng)用了。
1. 代碼準(zhǔn)備
將開發(fā)環(huán)境中的代碼打包成tar.gz文件,上傳到云服務(wù)器上。在服務(wù)器上創(chuàng)建/var/www目錄,將上傳的壓縮包放到該目錄下,解壓。
2. 安裝依賴
進(jìn)入源碼目錄,運(yùn)行以下命令安裝依賴:
“`
$ npm install
“`
3. 配置環(huán)境
在開發(fā)過程中, 我們通常需要根據(jù)不同的環(huán)境進(jìn)行不同的配置,比如開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境等。因此我們需要針對不同的環(huán)境進(jìn)行配置。
在本文中,我們以生產(chǎn)環(huán)境為例進(jìn)行配置,將默認(rèn)端口號修改為`80`,可以在`package.json`中進(jìn)行配置:
“`
{
\”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. 啟動應(yīng)用
在完成環(huán)境配置后,我們就可以啟動我們的Web應(yīng)用了。
“`
$ npm start
“`
在瀏覽器中訪問`http://云服務(wù)器IP`即可查看我們部署的Web應(yīng)用。
五、自動化部署
為了提高編碼效率,我們需要實(shí)現(xiàn)自動化部署,可以通過工具簡化我們的部署流程。常見的自動化部署工具主要有三種:Capistrano、Ansible和Jenkins。
1. Capistrano
Capistrano 是一個(gè)Ruby編寫的自動化部署工具,可以幫助我們快速部署Web應(yīng)用,支持多臺服務(wù)器同時(shí)部署,并且支持版本回退功能。Capistrano 的使用相對比較簡單,但是要求服務(wù)器必須預(yù)先安裝 Ssh 和 Git。
2. Ansible
Ansible 是一款輕量級的自動化部署工具,可以幫助我們完成服務(wù)器的管理和應(yīng)用的部署等任務(wù)。Ansible 的配置文件是YAML格式的,易于學(xué)習(xí)和使用。
3. Jenkins
Jenkins 是一款開源的自動化部署服務(wù)器,支持多種編程語言和多種操作系統(tǒng)。Jenkins 可以和 Git 等版本控制工具相結(jié)合,實(shí)現(xiàn)自動化構(gòu)建和部署等功能。
相較于Capistrano和Ansible,Jenkins相對來說更加的復(fù)雜一些, 在這里本文不再詳細(xì)闡述。
可以通過上述工具實(shí)現(xiàn)自動化部署,使得部署過程更加的簡單和快捷。
六、總結(jié)
通過本文,我們了解了如何將Web代碼部署到云服務(wù)器,并通過自動化部署工具來實(shí)現(xiàn)無人值守的部署操作,節(jié)省了開發(fā)者的時(shí)間。當(dāng)然,在部署過程中也需要注意安全問題,保證服務(wù)器和Web應(yīng)用的穩(wěn)定性。同時(shí)云服務(wù)商的選擇也會深度影響你的產(chǎn)品質(zhì)量, 開發(fā)人員需要仔細(xì)選擇并且維護(hù)云服務(wù)器穩(wěn)定性, 提供更高品質(zhì)和更好的用戶體驗(yàn)的服務(wù)。
以上就是小編關(guān)于“web代碼如何部署到云服務(wù)器”的分享和介紹
西部數(shù)碼(west.cn)是經(jīng)工信部審批,持有ISP、云牌照、IDC、CDN全業(yè)務(wù)資質(zhì)的正規(guī)老牌云服務(wù)商,自成立至今20余年專注于域名注冊、虛擬主機(jī)、云服務(wù)器、企業(yè)郵箱、企業(yè)建站等互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
公司自研的云計(jì)算平臺,以便捷高效、超高性價(jià)比、超預(yù)期售后等優(yōu)勢占領(lǐng)市場,穩(wěn)居中國接入服務(wù)商排名前三,為中國超過50萬網(wǎng)站提供了高速、穩(wěn)定的托管服務(wù)!先后獲評中國高新技術(shù)企業(yè)、中國優(yōu)秀云計(jì)算服務(wù)商、全國十佳IDC企業(yè)、中國最受歡迎的云服務(wù)商等稱號!
目前,西部數(shù)碼高性能云服務(wù)器正在進(jìn)行特價(jià)促銷,最低僅需48元!
http://ps-sw.cn/cloudhost/