在Linux机器上部署项目的步骤及其细节

一.前言
这篇文章,我分享了自己用C++写的后端项目需要部署时的一些步骤,旨在帮助我们自己写好项目但是需要部署时遇到的一些细节问题,还有容易卡壳或疑惑的点,欢迎大家一起交流~

二.准备云服务器
1.购买云服务器(阿里云有学生优惠)

  • 进入领取优惠券
    在这里插入图片描述
  • 进入阿里云官网,登录后打开产品一栏,选中云服务器ECS,选择合适的配置购买
    在这里插入图片描述
    在这里插入图片描述
  • 推荐参数说明
    购买方式:自定义购买
    付费类型:包年包月
    地域:选择里自己近的地域
    实例硬件配置:起步推荐2vCPU,2GiB,根据自己需要往上叠加。
    镜像:推荐CentOS 7.6 64位
    云盘:40GiB
    宽带和安全组:分配公网 IPv4 地址,推荐按使用流量计费,峰值选最高,下载安装软件快
    登录凭证:添加密钥对,如需使用密码远程登录实例,可在实例创建后通过控制台"重置实例密码"操作完成设置。

在这里插入图片描述
以上基本的配置设置完毕,就可以下单购买了!进入一下页面查看实例相关信息,通过公网ip和密码就可以进行远程连接了。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
三.配置云服务器的项目运行环境

1.新建用户,添加到sudo
adduser myname
cd /etc/sudoers
chmod u+w sudoers
vim sudoers
找到root ALL = (ALL) ALL这一行,在下一行加入username ALL = (ALL) ALL。username指代你想加入sudo组的用户名。把sudoers文件的权限修改回来。
chmod u-w sudoers
这样普通用户可以执行sudo命令了。
2.安装需要的工具或库
字体库
sudo yum install fontconfig.x86_64
压缩工具
sudo yum install -y unzip zip
解析和处理 Unicode 字符库
sudo yum install libicu
3.配置环境变量
在.bashrc中添加export LD_LIBRARY_PATH=/usr/lib:/xxx/xxx:$LD_LIBRARY_PATH
"/xxx/xxx"是项目所需要的动态库
LD_LIBRARY_PATH 环境变量:
LD_LIBRARY_PATH 用于查找库文件(通常是.so文件),这些文件是其他程序运行时所依赖的。
当一个程序运行时,动态链接器会依次搜索 LD_LIBRARY_PATH 中指定的目录,以查找程序运行所需的库文件。
4.检查服务器防火墙
进入阿里云控制台,开放程序绑定的端口。在这里插入图片描述 在这里插入图片描述

四.配置云服务器的项目编译环境
1.配置编译环境
例:升级gcc编译器
安装scl
sudo yum install centos-release-scl scl-utils-build
安装新版本gcc,这里也可以把7换成8或者9,我用的是9,也可以都安装
sudo yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++
查看是否安装完成
ls /opt/rh/
在.bashrc中添加
scl enable devtoolset-9 bash
2.检查项目涉及到的ip是否更改

五.搭建数据库
1.安装数据库

  • 配置yum源
    在https://repo.mysql.com/ 下载rpm包(安装版本适配大于等于本地版本)
    将下载的rpm包上传到linux,执行rpm -ivh <包名>
  • 安装mysql应用程序
    执行yum install -y mysql-community-server
    注:若密钥过期执行rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022再安装
  • 验证是否安装完成
    which mysql
    which mysqld
    cat /etc/my.cnf
    都存在即安装完毕。
  • 启动mysql服务
    systemctl start mysql
    2.创建数据库,导入相关数据
    CREATE DATABASE IF NOT EXISTS databasename DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    3.配置数据库用户权限
    CREATE USER 'username'@'host' IDENTIFIED BY 'password';
    grant all privileges on databasename.* to 'username'@'%';
    4.检查服务器防火墙
    开放端口3306(参考以上运行环境配置)
    5.取消掉mysql的远程访问的ssl身份验证
    修改配置文件my.cnf,加入以下内容:
    skip_ssl
  • 28
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

K.t.P.T.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值