前言:
最近有个小目标,想要学习一下如何将前端项目部署到我的阿里云服务器上.我对linux系统的了解,基本上是从零开始的,所以即便是完成了环境配置,知识点也比较凌乱,有必要去梳理一下.
服务器:阿里云服务器ECS
(其实使用轻量服务器会更简单,有些镜像实例已经安装好通用的nodejs基础环境,但是想要自定义安装就用ECS)
登陆服务器工具:Xshell 6
linux系统类型:CentOS7 64位
(据我所知有三种linux系统类型,centos对新手相对友好)
nodejs的安装
1.编译安装(服务器性能有限,编译慢,不推荐)
2.通过 yum 进行安装(安装的未必是最新版,不推荐)
3.直接安装编译好的 Nodejs(推荐)
1.保证阿里云服务器实例是启动状态;
2.用Xshell登陆服务器:


.打开服务器实例详情,打开远程连接:



vim /etc/ssh/sshd_config
打开sshd_config文件,添加
PasswordAuthentication yes 是否可以密码认证,修改成yes
.然后重启sshd服务
service sshd restart
就可以正常登陆,当然用public key登陆会更安全
linux以/作为根目录,xshell中不同的文件/文件夹颜色均不相同,代表着不同的含义,相关知识点可参照文末链接;

3.下载对应的二进制文件:一般下载到在/usr/src文件夹下(我曾经下载到/usr/local/src处,并在此处建立软链接,但是链接不可用)

wget -c https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz

tar -xvf node-v10.16.0-linux-x64.tar.xz

mv node-v10.16.0-linux-x64 ./node



sudo ln -s /usr/src/nodejs/bin/node /usr/bin/node
sudo ln -s /usr/src/nodejs/bin/npm /usr/bin/npm
/usr/bin文件夹存在node,npm链接



MySQL8的安装
1.去官网选择安装包(mysql的linux系统版本特别多,我换过几个版本安装,核心功能应该没有区别,mini版的会少一些配置,可能需要手动去配.我的服务器是64位x86架构,选择了图示版本,里面不是每个压缩包我都用到了!)


wget -c https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.17-linux-glibc2.12-x86_64.tar



mkdir data

6.改变 mysql 目录权限
chown -R mysql.mysql /usr/src/mysql/
7.初始化数据库 在mysql文件夹下创建mysql_install_db安装文件
mkdir mysql_install_db
chmod 777 ./mysql_install_db //mysql_install_db文件权限就被修改为可读可写可执行
进入bin文件夹,初始化
遇见问题:linux libaio.so.1: cannot open shared object file: No such file or directory
解决:缺少安装包libaio和libaio-devel.用yum install libaio*。自动安装这两个包

./mysqld --initialize-insecure --user=mysql --basedir=/usr/src/mysql --datadir=/usr/src/mysql/data

cd /etc
vim my.cnf

# 将mysql.server复制到本地服务对应处
cp -a ./support-files/mysql.server /etc/init.d/mysqld
# chmod +x给予文件权限,变为绿色的可执行文件
chmod +x /etc/rc.d/init.d/mysqld
# mysql服务添加到添加到系统服务
chkconfig --add mysqld
# 检查服务是否生效
chkconfig --list mysqld

vim /etc/profile
在 profile 文件底部添加如下两行配置,保存后退出
export PATH=$PATH:/usr/src/mysql/bin:/usr/src/mysql/lib
export PATH 设置环境变量立即生效 source /etc/profile
11.启动MySQL服务 service mysql start
12.登录MySQL mysql -u root -p密码
或者直接输入mysql,因为此时无密码


14.防火墙开放3306端口
立即启动防火墙 systemctl start firewalld.service
设置开机启动防火墙 systemctl enable firewalld.service
开放3306端口 firewall-cmd --zone=public --query-port=3306/tcp
重启防火墙或者重新载入防火墙规则
systemctl restart firewalld.service
或者firewall-cmd --reload
查看所有打开的端口:
firewall-cmd --zone=public --list-ports




可以使用DBeaver或者Navicat等mysql可视化管理工具登陆远程mysql
或者使用windows自带的telnet工具,检测是否启用该工具

telnet 阿里云服务器公网IP 3306
未失败,即为成功

相关知识点及链接
xshell连接服务器无法用password登录,只能用public key的解决办法
inux系统中vim编辑器的操作
阿里云centos环境之修改ssh默认端口
linux软件包管理器
centos下安装开发者工具
linux查看文件目录信息ls命令详解
CentOS 7.0 配置防火墙
linux根目录下的文件夹详解
linux系统nodejs部署参考文档
linux的tar压缩和解压
关于 SSH 工具(xshell 6)里文件的颜色及含义
linux用户管理和权限
端口扫描工具
iptables与firewalld两种防火墙机制