本文整个流程是在博主完成一次项目上线全过程后复盘的记录,有没有写到的细节不清楚的可以私聊提问。选购服务器可以参考一、服务器选购,跳过可以直接点击目录,后端Java项目部署参考:项目上线流程(二)后端项目部署+脚本部署,前端next脚手架recat项目部署参考:项目上线流程(三)前端next脚手架recat项目部署+脚本部署
新用户可以直接选购首页优惠款,如果是使用过阿里云的小伙伴或者想自己选配服务器配置、带宽、云盘大小、系统版本可以往下看
– 点击顶部搜索,找ECS,点击云服务器ECS,立即购买
– 选择配置
付费模式默认包年包月就可;
可用区主要根据目标用户所在的地理位置选择地域;
实例规格可以再筛选处选择CPU核心数、内存大小进行筛选,按需选取;
镜像就是系统,自选;
云盘一般40G就够了(笔者这边数据库和redis用的都是阿里云的云redis和云RDS产品,不存在本地数据库占用云盘的情况,也不建议在这里自己安装数据库,不方便管理);
带宽选择按量付费5M峰值;
其他都不用选;下一步
密码、服务器名之类的填一下就可以确认订单了
yum search java|grep jdk
yum install java-1.8.0-openjdk
java -version
javac
报错-bash: javac: command not found
原因:默认安装完只有运行环境,java安装目录下只有jre文件夹。
yum install java-1.8.0-openjdk-devel.x86_64
安装 nginx 需要先将官网下载的源码进行编译
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
如果要使用 https,需要安装 OpenSSL 库(一般都要)
yum install -y openssl openssl-devel
yum install gd-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
./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 \
--with-http_image_filter_module=dynamic
make && make install
image_filter模块安装
执行完上述命令会在/usr/local下出现一个nginx目录,这里就是nginx的家了执行/usr/local/nginx/sbin/nginx
就可以启动了,ps -ef | grep nginx
查看进程
启动过程中遇到过一个问题一起记录一下
启动失败
nginx: [emerg] getpwnam("nginx") failed
useradd -s /sbin/nologin -M nginx
id nginx
/usr/local/nginx/sbin/nginx #启动成功
# 进入nginx配置目录
cd /usr/local/nginx/conf
# 创建证书目录
mkdir cert
# 创建自定义配置目录
mkdir conf.d
# 查看
ll
证书选购:阿里云免费证书
然后解压并把文件改成跟你域名一样的名字(不改也行,只是为了方便管理)
上传到服务器上刚刚建好的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;
}
}
# 命令安装
yum install git -y
然后就可以执行git命令了
# 生成git公钥
ssh-keygen -t rsa -C "邮箱"
# 我这里是用root账户,如果用的不是root账户则在账户目录下的.ssh目录
cd /root/.ssh
# 复制粘贴到git仓库的下面图片的公钥框里,这样服务器就能拉取代码了
cat id_rsa.pub
# cd到项目目录
cd /opt/
# 拉取远程代码到指定路径(只能是空目录)
git clone ssh地址 目标目录
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
# 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
如果不需要用到java脚本部署则不需要安装
# 下载压缩包
wget https://ftp.kddi-research.jp/infosystems/apache/maven/maven-3/3.8.4/binaries/apache-maven-3.8.8-bin.tar.gz
# 解压
tar -zxvf apache-maven-3.8.8-bin.tar.gz
# 配置环境变量
vi /etc/profile
# 拉倒最下加上这两行环境变量
export MAVEN_HOME=/usr/local/apache-maven-3.8.8
export PATH=$MAVEN_HOME/bin:$PATH
ecs
# 保存并退出
:wq
# 刷新环境变量
source /etc/profile
# 检查版本
mvn -v
后端Java项目部署参考:项目上线流程(二)后端项目部署+脚本部署,
前端next脚手架recat项目部署参考:项目上线流程(三)前端next脚手架recat项目部署+脚本部署