本文整个流程是在博主完成一次项目上线全过程后复盘的记录,有没有写到的细节不清楚的可以私聊提问。选购服务器可以参考一、服务器选购,跳过可以直接点击目录,后端Java项目部署参考:项目上线流程(二)后端项目部署+脚本部署,前端next脚手架recat项目部署参考:项目上线流程(三)前端next脚手架recat项目部署+脚本部署

从环境搭建到前后端项目部署,证书部署,Springboot 打包 Java + next 脚手架运行 recat 项目上线部署

  • 一、服务器选购
    • 阿里云服务器选购教程
  • 二、服务器配置及证书部署
    • 1.JDK安装
    • 2.nginx安装配置
    • 3.证书部署
    • 4.Git安装、关联仓库
    • 5.node安装
    • 6.cnpm及pm2安装
    • 7.Maven安装

一、服务器选购

阿里云服务器选购教程

服务器优惠链接

新用户可以直接选购首页优惠款,如果是使用过阿里云的小伙伴或者想自己选配服务器配置、带宽、云盘大小、系统版本可以往下看

– 点击顶部搜索,找ECS,点击云服务器ECS,立即购买

– 选择配置

付费模式默认包年包月就可;

可用区主要根据目标用户所在的地理位置选择地域;

实例规格可以再筛选处选择CPU核心数、内存大小进行筛选,按需选取;

镜像就是系统,自选;

云盘一般40G就够了(笔者这边数据库和redis用的都是阿里云的云redis和云RDS产品,不存在本地数据库占用云盘的情况,也不建议在这里自己安装数据库,不方便管理);

快照不需要选;进入下一步

网络不需要选;

带宽选择按量付费5M峰值;

其他都不用选;下一步

密码、服务器名之类的填一下就可以确认订单了

二、服务器配置及证书部署

1.JDK安装

# 查找所有
yum search java|grep jdk

# 安装java-1.8.0-openjdk
yum install java-1.8.0-openjdk

# 查看版本
java -version

# 查看javac是否可用
javac
# -bash: javac: command not found
# 原因:默认安装完只有运行环境,java安装目录下只有jre文件夹。后面maven打包要用到,如果不使用一键部署在这里可以不装
# 安装
yum install java-1.8.0-openjdk-devel.x86_64
# 查看javac是否可用
javac

2.nginx安装配置

# 安装 nginx 需要先将官网下载的源码进行编译,编译依赖gcc环境
yum install gcc-c++
# Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。需要安装两个安装包pcre和pcre-devel
yum install -y pcre pcre-devel
# Nginx的压缩算法gzip压缩:zlib库
yum install -y zlib zlib-devel
# 如果要使用 https,需要安装 OpenSSL 库
yum install -y openssl openssl-devel
# 下载nginx压缩包
cd /usr/local
wget -c https://nginx.org/download/nginx-1.20.1.tar.gz
# 解压nginx并进入目录
tar -zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1
# 使用nginx默认配置
./configure \
--prefix=/usr/local/nginx \
--pid-path=/usr/local/nginx/run \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre
#编译安装
make && make install

执行完上述命令会在/usr/local下出现一个nginx目录,这里就是nginx的家了执行/usr/local/nginx/sbin/nginx就可以启动了,ps -ef | grep nginx查看进程

# 进入nginx配置目录
cd /usr/local/nginx/conf
# 创建证书目录
mkdir cert
# 创建自定义配置目录
mkdir conf.d
# 查看
ll

使用过程中遇到过一个问题一起记录一下

# 启动失败
nginx: [emerg] getpwnam("nginx") failed

# 原因是没有安装nginx用户导致的无法启动
useradd -s /sbin/nologin -M nginx
id nginx
/usr/local/nginx/sbin/nginx #启动成功

3.证书部署

证书选购:阿里云免费证书

订购免费证书,然后跟你的域名绑定,下载

然后解压并把文件改成跟你域名一样的名字(不改也行,只是为了方便管理)

上传到服务器上刚刚建好的cert目录并将这个server配置写成一个文件放到conf.d目录下,域名记得改server_name、ssl_certificate、ssl_certificate_key

server {listen 80;server_name www.lllmark.com;rewrite ^(.*)$ https://${server_name}$1 permanent;
}
server {listen       443 ssl;server_name  www.lllmark.com;ssl_certificate      /usr/local/nginx/conf/cert/www.lllmark.com.pem;ssl_certificate_key  /usr/local/nginx/conf/cert/www.lllmark.com.key;ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers  on;location /{proxy_pass http://localhost:8080;}
}

4.Git安装、关联仓库

# 命令安装
yum install git -y


默认安装路径是: /usr/share/git-core

然后就可以执行git命令了

# 生成git公钥
ssh-keygen -t rsa -C "邮箱"


三次回车,然后会生成公钥到/root/.ssh

# 我这里是用root账户,如果用的不是root账户则在账户目录下的.ssh目录
cd /root/.ssh

# 复制粘贴到git仓库的下面图片的公钥框里,这样服务器就能拉取代码了
cat id_rsa.pub

# cd到项目目录
cd /opt/
# 拉取远程代码到指定路径(只能是空目录)
git clone ssh地址 目标目录

5.node安装

cd /usr/local/
# 下载node压缩包
wget https://npm.taobao.org/mirrors/node/v14.17.4/node-v14.17.4-linux-x64.tar.gz# 解压
tar -xf node-v14.17.4-linux-x64.tar.gz
# 目录改名
mv node-v14.17.4-linux-x64 /usr/local/nodejs

# 添加软链
ln -s /usr/local/nodejs/bin/node /usr/local/bin
ln -s /usr/local/nodejs/bin/npm /usr/local/bin
# 查看node版本
node -v

6.cnpm及pm2安装

# cnpm安装,cnpm是为了下载一些国外的包时下载不到而使用国内镜像,如果项目没需求可以不安装
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 创建软链
sudo ln -s /usr/local/nodejs/bin/cnpm /usr/local/bin/cnpm# pm2安装
npm install pm2 -g
# 创建软链
ln -s /usr/local/nodejs/bin/pm2 /usr/local/bin/
# 查看进程
pm2 list

7.Maven安装

如果不需要用到java脚本部署则不需要安装

# 下载压缩包
wget https://ftp.kddi-research.jp/infosystems/apache/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz
# 解压
tar -zxvf apache-maven-3.8.4-bin.tar.gz
# 配置环境变量
vi /etc/profile
# 拉倒最下加上这两行环境变量
export MAVEN_HOME=/usr/local/apache-maven-3.8.4
export PATH=$MAVEN_HOME/bin:$PATH

ecs
# 保存并退出
:wq
# 刷新环境变量
source /etc/profile
# 检查版本
mvn -v


后端Java项目部署参考:项目上线流程(二)后端项目部署+脚本部署,
前端next脚手架recat项目部署参考:项目上线流程(三)前端next脚手架recat项目部署+脚本部署

很细的项目部署上线流程(一)服务器搭建环境从0开始,Linux安装JDK安装nginx部署ssl证书安装git安装node安装pm2安装maven相关推荐

  1. 阿里云服务器的购买、基本配置、(xshell)远程连接、搭建环境、设置安全组、域名备案、申请ssl证书

    一.服务器的购买 1.购买时间点:搞活动的时候.利用学生身份购买 (1)活动:想白嫖一台服务器 双十一,可以在双十一左右,时间提前一点,百度或B站,搜阿里云服务器.腾讯服务器(618可能也有) 一般, ...

  2. 超详细带图详解,在linux下如何利用nginx部署自己的项目到服务器?认真看完,你不会过来找我!

    在linux下如何利用nginx部署自己的项目到服务器? 一.基本思路 二.实例解析 1.在虚拟机安装linux系统,我这里用到的是centos7.当然你也可以选择其他的,但大概步骤,过程是一样的.怎 ...

  3. 阿里云服务器搭建环境部署项目

    阿里云服务器搭建环境部署项目 最近要双十一搞活动就入手了一台阿里云服务器,从零开始搭建一次环境,顺便把这次过程记录下来. 1. 在这里找到自己买的服务器这里有相关想设置和信息可以查看 2. 接下来配置 ...

  4. windows配置NGINX、NGINX配置SSL证书通过HTTPS访问、使用HTTPS通过NGINX代理访问服务器端项目

    1.windows配置nginx 1)在nginx官网下载稳定版nginx,nginx官网:http://nginx.org/en/download.html 2)解压文件,注:存放目录最好不要带有中 ...

  5. Django服务器安装ssl证书,Django网站(Apache部署)安装Let's Encrypt免费SSL证书

    为什么要HTTPS 2018年2月8日,谷歌浏览器发布官方博客称,2018年7月发布的新版谷歌浏览器Chrome将把所有的HTTP网站标记为不安全.这项举措是为了促进网络安全,倡导更多网站使用HTTP ...

  6. 史上最全的ubuntu服务器搭建环境教程~~~

    ubuntu服务器搭建环境~~~ 1. 先安装xshell:远程服务器连接(取代直接在浏览器 上 访问) 2. 安装xftp(ftp文件传输)直接双击红色圈圈即可 3. 安装mysql数据库: 指令: ...

  7. 项目完整上线流程-后端

    一.安装CentOS 略 二.安装yum CentOS下yum的安装及配置_那是光啊的博客-CSDN博客_yum-3.4.3-150.el7.centos.noarch PS:安装流程: 步骤: 1. ...

  8. 项目发布上线流程规范

    上线前: (1)组内上线通知:上线时间夕会同步组员,统一上线思想 (2)外部依赖:上线当天同步给外部依赖,共同验证线上功能 (3)风险管理:有延期风险问题电话同步给负责人,第一时间做出相应,降低延期风 ...

  9. 国外APP项目的上线流程

    现在很多创业者希望自己的项目能走出国内,向全球各地发展,尤其对于一些通用APP来说,国外可以增加一个新的收入渠道.比如常见的出海APP有小型游戏.手机清理.杀毒软件等等,这些类型的APP在全球的使用基 ...

最新文章

  1. Bulk_Collect_Performance 比较
  2. qt-designer使用教程2--调用退出
  3. 181920.net用 文字存档
  4. ASP.NET多种不同页面间数据传递的方法
  5. python 发送邮件connect none_使用python向IP地址发送邮件
  6. Flutter异步加载FutureBuilder重绘解决方案
  7. debian9 设置
  8. 浮点数:一种有漏洞的抽象【译】
  9. 用JavaScript获取输入的特殊字符
  10. 风格迁移应用_图像风格迁移
  11. 正确将博客网页保存为pdf
  12. POI excel 添加水印 xls,xlsx
  13. Win10 关闭屏幕旋转(转向)
  14. format函数python生成列表_python之自动生成器(持续更新)
  15. 大O、小o、大Ω、小ω、大Θ符号在算法中是什么意思?
  16. k线图的分析小技巧以及买入卖出信号
  17. 学废Unity的小妙招
  18. 阿里巴巴首届设计大赛,王牌大奖最终花落谁家?
  19. 整车新产品研发的多项目管理分析
  20. 企业信息化由谁主导会更好?

热门文章

  1. MATLAB3*3均值滤波、5*5均值滤波和圆盘滤波
  2. ArcGIS开发基础教程(一):API及服务器配置
  3. Andorid适配器应用
  4. AWS API Gateway与AWS Lambda代理集成构建REST API
  5. 一学就会——vim新手入门图文教程
  6. 用计算机打青春不打烊,青春不打烊作文
  7. 用计算机打青春不打烊,青春不打烊作文800字
  8. OJ Problem D: 哪一天,哪一秒?
  9. 2018,互联网消费下沉的一年
  10. nmap端口扫描参数设置