一、理解Linux基本命名
ls: 列出目录 cd:切换目录 pwd: 显示目前目录
mkdir: 创建一个新的目录 touch:创建新的文件
cp:复制文件或目录 rm:移除文件或目录
df:将系统内所有的文件系统列出来(df -h:将容量结果以易读的容量格式显示出来)
二、设置免密登陆,新增账号、安全配置。
1、设置密钥对,并绑定机器
把本地公钥~/.ssh/id_rsa.pub文件同步到服务器 ~/.ssh/authorized_keys里。 通过scp传输文件: scp .ssh/id_rsa.pub root@XX.XXX.XX.XX:~/.ssh/authorized_keys。下次使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以登录了。
2、添加用户,设置密码。
useradd guest(用户名)
passwd guest(用户名)
创建好了,远程服务器上 ~ /home 目录下就可以看到guest文件。同时然后配置sudo权限,修改 /etc/sudoers,在"root ALL=(ALL) ALL"下增加你的用户信息
3、为你的新用户设置ssh密钥登录的方式
copy root下.ssh/authorized_keys,去你的用户目录:cp ~/.ssh/authorized_keys /home/guest/.ssh/authorized_keys
4、最好不要允许root用户通过ssh登录,存在安全隐患。
修改/etc/ssh/sshd_config,将PermitRootLogin yes修改为no即可。
顺便说一下,PasswordAuthentication(是否允许修改密码登陆),也推荐no,ClientAliveInterval(会话时间,单位分钟)改为30分钟,省得使用iterm ssh远程时经常断线。重启sshd,一切搞定 service sshd restart。
三、linux下安装node
1、wget命令下载Node.js安装。该安装包是编译好的文件,解压之后,在bin文件夹中就已存在node和npm,无需重复编译。
wget https://nodejs.org/dist/v8.0.0/node-v8.0.0-linux-x64.tar.xz
2、解压文件:
tar xvf node-v8.0.0-linux-x64.tar.xz
2、重命名:
- mv node-v8.0.0-linux-x64 node
3、创建软链接,使node和npm命令全局有效。通过创建软链接的方法,使得在任意目录下都可以直接使用node和npm命令 (也可参考第7点)
ln -s /root/node/bin/node /usr/local/bin/node
ln -s /root/node/bin/npm /usr/local/bin/npm
4、查看node、npm版本
node -v
npm -v
5、至此,Node.js环境已安装完毕。软件默认安装在/root/node-v8.0.0-linux-x64/目录下。如果需要将该软件安装到其他目录(如:/usr/src/)下,请进行如下操作:
cd /usr/src/
- wget https://nodejs.org/dist/v8.0.0/node-v8.0.0-linux-x64.tar.xz
- tar xvf node-v8.0.0-linux-x64.tar.xz
mv node-v8.0.0-linux-x64 node
rm -f /usr/local/bin/node
rm -f /usr/local/bin/npm
ln -s /usr/src/node/bin/node /usr/local/bin/node
ln -s /usr/src/node/bin/npm /usr/local/bin/npm
6、修改环境变量PATH
有两种设置环境变量 PATH 的方法。第一种适用于为单一用户设置 PATH,第二种是为全局设置 PATH
当前用户的全局设置vim ~/.bashrc 添加行: export PATH=/usr/src/node/bin:$PATH退出保存生效:命令行输入:source ~/.bashrc
所有用户的全局设置vim /etc/profile添加行: export PATH=/usr/src/node/bin:$PATH退出保存生效:命令行输入:source /etc/profile
echo $PATH显示当前PATH环境变量,该变量的值由一系列以冒号分隔的目录名组成。例如:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/src/node/bin环境变量中路径有/usr/local/bin(我们第4点设置创建软链接对应的目录)和/usr/src/node/bin(成功添加后,我们可以跳出第四点)注解:当我们执行程序时,shell自动跟据PATH变量的值去搜索该程序。比如我们现在的工作目录是根目录/ ,有一个程序npm在/usr/src/node/bin/目录下,我们可以在命令行输入/usr/src/node/bin/npm 这样来执行它,还可以直接输入npm,这时shell会自动去寻找npm这个程序所在的完整路径,找到之后才会去执行该程序。shell在搜索时先搜索PATH环境变量中的第一个目录,没找到再接着搜索,如果找到则执行它,不会再继续搜索
四、部署测试项目
1、新建项目文件example.js
cd ~
touch example.js
2、使用vim编辑器打开项目文件example.js
yum install vim
vim example.js
3、输入 i
,进入编辑模式,将以下项目文件内容粘贴到文件中。使用Esc
按钮,退出编辑模式,输入:wq
,回车,保存文件内容并退出
项目文件内容:
const http = require('http');
const hostname = '0.0.0.0';
const port = 8080;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
}); 注意:项目文件内容中的3000为端口号,可以自行定义。
3、运行项目 : node example.js (ssh关闭,进程就会停止,需要使用pm2)
4、使用命令查看项目端口是否存在: netstat -tpln
5、登录ECS管理控制台,并在安全组中 添加安全组规则 放行端口(如本示例中为TCP 8080端口)。
6、(可选)如果您的实例中开启了防火墙,必须添加端口的入站规则(如本示例中为TCP 8080端口)。
原文参考:https://www.jianshu.com/p/e982dc266e43
https://help.aliyun.com/document_detail/50775.html