首页IT科技web系统部署(web项目部署上线(无虚拟主机,待学习))

web系统部署(web项目部署上线(无虚拟主机,待学习))

时间2025-04-30 07:43:03分类IT科技浏览3140
导读:购买阿里云服务器...

购买阿里云服务器

阿里云服务器ECS

系统镜像使用Ubuntu 20.04 LTS

使用ssh连接服务器            ,终端或者CMD中执行:$ssh root@x.x.x(阿里云服务器账号名@公网地址)

输入账号密码即可连接上服务器(如果配置公钥               ,就不用再输入密码了      ,更加安全)

记得去阿里云的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 root@x.x.x:/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 TLSv1TLSv1.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 TLSv1TLSv1.1TLSv1 .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 // 后端接口地址

}

}

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
ipv6无网络访问权限怎么办?(ipv6无网络访问权限解决教程) 智能原创自动写作工具(使用AI在线文章伪原创工具,让文章更具独特风格)