下载 CentOS
访问 https://www.centos.org/download/ 下载 Minimal ISO 即可,其他的虽然功能齐全,但是太大了。
必要工具
yum install zip unzip -y:
1
2
3
4
5# 把文件夹 H5 和文件 x.html 压缩成 result.zip
zip -r result.zip H5 x.html
# 解压 filename.zip, 如无 -d 则解压到当前目录,有则解压到目录 dest-directory
unzip filename.zip [-d dest-directory]yum install bzip2 (解压 .bz2 文件)
yum install net-tools (安装后才能使用 ifconfig 等)
yum install psmisc 安装 pstree 查看进程树 (
pstree -g
)tar 解压 tar.gz:
tar xf filename.tar.gz
安装 tree:
yum install tree
安装 7z:
yum install -y p7zip
,如果不能用 yum 安装,可以自己编译1
2
3
4
5wget http://nchc.dl.sourceforge.net/project/p7zip/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2
tar -jxvf p7zip_9.20.1_src_all.tar.bz2
cd p7zip_9.20.1
make
make install安装 VIM (默认只安装了 VI,不能高亮搜索,不能语法高亮等)
- 查看本机是否已经安装 VIM:
rpm -qa | grep vim
如果安装了则会显示上面 3 个包,缺少了的需要进行安装:1
2
3vim-minimal-7.4.629-5.el6.x86_64
vim-enhanced-7.4.629-5.el6_8.1.x86_64
vim-common-7.4.629-5.el6_8.1.x86_64- 缺少 vim-common:
yum -y install vim-common
- 缺少 vim-minimal:
yum -y install vim-minimal
- 缺少 vim-enhanced:
yum -y install vim-enhanced
- 缺少 vim-common:
查看 yum 安装的软件的文件都放到了哪些地方:
rpm -ql nodejs
。- 查看本机是否已经安装 VIM:
安装 Java
下载 Linux 64 位版本的 Java 8
查看系统的信息 uname -a,可以看到 CentOS 7 是 64 位的
Linux bogon 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
解压到 /usr/local 目录
修改 .bash_profile 文件(在用户目录下),添加 Java 到环境变量
1
2export JAVA_HOME="/usr/local/jdk1.8.0_144"
export PATH="$PATH:$JAVA_HOME/bin"使修改的 .bash_profile 生效:
source .bash_profile
执行
java -version
正常输出则安装好了
安装 Tomcat
- 下载 Tomcat 8
- 解压到 /usr/local 目录
- 运行 Tomcat:
<tomcat>/bin/startup.sh
- wget 访问 Tomcat 首页:
wget http://127.0.0.1:8080
- 其他机器访问 Tomcat 首页,拒绝访问,因为 CentOS 7 的端口 8080 默认是禁用的,需要开放此端口
开放端口
CentOS 7 使用 firewalld 控制端口,不再使用 iptables,默认 8080 端口等都是禁用的。
开启端口:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
–zone #作用域
–add-port=8080/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效重启防火墙:
firewall-cmd --reload
查看开放的端口:
firewall-cmd --zone=public --list-ports
正在监听的端口:
netstat -an | grep LISTEN
禁用端口
- 禁用端口:
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
- 重启防火墙:
firewall-cmd --reload
SSH 登陆
ssh root@192.168.82.130
,然后输入密码。
ssh username@host
SSH + Key 登陆
- 客户端:
- 执行
ssh-keygen -t rsa -C "your_email@example.com"
- 在用户目录的 .ssh 目录下找到生成的 id_rsa 和 id_rsa.pub
- 复制 id_rsa.pub 到 CentOS 的服务器上
- 执行
- 服务器:
- 用户的 id_rsa.pub 放到 /root 目录
mkdir /root/.ssh
cd /root/.ssh
cat /root/id_rsa.pub >> /root/.ssh/authorized_keys
- 客户端:
ssh username@host
,不需要密码,直接能访问了
更换 yum 镜像
国内访问 yum 默认镜像太慢,可以更换为比较稳定的阿里云镜像。
备份:
1
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
CentOS 6
1
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7
1
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
运行
yum makecache
生成缓存
7z 使用
1 | # 解压 filename.7z 到当前目录 |
安装 Nodejs 8
直接 yum install nodejs
安装的是 Nodejs 6,如果想要安装 Nodejs 8、Nodejs 9 则需要看官方文档,安装步骤如下
1 | curl -sL https://rpm.nodesource.com/setup_8.x | bash - |
使用淘宝 NPM 镜像,安装时使用 cnpm 代替 npm:
1 | npm install -g cnpm --registry=https://registry.npm.taobao.org |
安装 MongoDB
详细内容请参考官方文档,安装步骤如下:
指定 MongoDB 的原: 创建文件
/etc/yum.repos.d/mongodb-org-4.0.repo
,内容如下:1
2
3
4
5
6[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc安装 MongoDB:
yum install -y mongodb-org
启动 MongoDB:
systemctl start mongod
或者
mongod --auth --config /etc/mongod.conf
关闭 MongoDB:
systemctl stop mongod
访问 MongoDB:
mongo --host 127.0.0.1:27017
MongoDB 默认使用端口 27017,配置在 /etc/mongod.conf
。
Gotop
Gotop 用于查看系统资源使用情况,很多时候不能直接使用 yum 安装,其实只有一个可自行文件,下载后直接使用:
从 https://github.com/cjbassi/gotop/releases 下载 gotop_3.0.0_linux_386.tgz
解压:
1
tar zxvf gotop_3.0.0_linux_386.tgz
移动:
1
mv gotop /usr/local/bin
运行:
1
gotop
后台运行程序
例如使用 ssh 远程用 node 运行的程序不是 deamon 进程 (systemctl, service 运行的是),当前 ssh 窗口关闭后程序就会退出,可以使用 nohup node app.js &
解决这个问题,能使命令永久的在后台执行:
nohup
不挂断地运行命令&
指在后台运行,但关掉 ssh 窗口后程序就会退出
nohup 执行后,会产生日志文件:
nohup node app.js &
: 在运行命令的目录产生日志文件 nohup.outnohup node app.js >> /temp/logs/my-app.log 2>&1 &
: 日志被重定向到my-app.log
文件中 (推荐使用这种方式)nohup node app.js > /dev/null 2>&1 &
: 不生成日志文件
注意: 为什么
nohup &
启动的进程在终端退出之后会退出?因为在 nohup 执行之后,该终端必须以命令
exit
正常退出,若直接关闭 ssh 窗口退出,则有些主机会认为你异常退出而关闭你的进程。