今天心血来潮买了一个阿里云ECS云服务器,然后想起来以前还买过一个域名一直没用上,就拿来玩玩。
绑定域名
在域名的控制台进行DNS解析,绑定好云服务器的公网IP
- 记录类型:默认A
- 主机记录:www ,就是给域名加一个前缀
- 解析路线:默认
- 记录值:云服务器的公网ip地址
- TTL:默认
配置好后,ping 域名
检测一下,可以访问
接下来就可以部署一些自己的应用了
远程连接到服务器 ssh root@IP
输入密码,即可连接
首先对服务器进行升级 sudo apt-get update
Node
wget https://nodejs.org/dist/v10.15.1/node-v10.15.1-linux-x64.tar.xz
下载源码
xz -d node-v10.15.1-linux-x64.tar.xz
tar -xvf node-v10.15.1-linux-x64.tar
解压
rm node-v10.15.1-linux-x64.tar
删除多余文件夹
1 | ln -s /root/node-v10.15.1-linux-x64/bin/node /usr/local/bin/node |
创建软链接便于全局访问
为了更清晰的管理文件夹
1 | mkdir -p /tool/node/ |
查看版本发现已经安装成功
Pm2
npm install pm2 -g
pm2可以用它来管理node进程 pm2命令
同样要配置软链接,类似于windows中的环境变量 ln -s /tool/node/bin/pm2 /usr/local/bin/
Nginx
Nginx是一个高性能的 HTTP 和反向代理服务器,也是一个IMAP/POP3/SMTP 代理服, 是一个asynchronousservers异步服务器, 一般用来处理高并发
新建一个目录专门存放安装包(不然以后看起来很混乱)mkdir ~/software
下载并解压安装包至指定目录
wget -P ~/software/ http://nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf nginx-1.12.2.tar.gz -C ~/tool
进入所在目前执行默认配置 ./configure
此步骤会报错因为还有很多依赖包没有安装
1 | apt-get install libpcre3 libpcre3-dev |
安装完毕后编译make
成功后多出一个Makefile文件
然后make install
会安装在 /usr/local/nginx
不知道为什么我在root目录想看不到usr文件夹?
直接 cd /usr/local/nginx
进到nginx目录直接运行./sbin/nginx
结果说我没有安装??
算了不编译了,apt一把梭 apt-get install nginx
运行时提示端口被占用 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
netstat -ntlp
查看端口情况 杀死进程 kill id
重新运行
ps aux|grep nginx
可以查看Nginx进程情况
但此时还不能通过浏览器直接访问,要在阿里云控制台进行安全组配置 分别设置入方向和出方向规则
刷新网站即可看到80端口可以访问了
Docker
查看位数getconf LONG_BIT
64位
查看系统lsb_release -a
查看内核版本uname -r
4.4.0-170-generic
查看可安装的docker版本apt-cache madison docker-ce
居然没有。。看了要换镜像
apt-get -y install apt-transport-https ca-certificates curl software-properties-common
允许用于通过HTTPS来获取仓库
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
添加 Docker 的官方 GPG 密钥
sudo apt-key fingerprint 0EBFCD88
确认密钥
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
添加阿里云镜像仓库
更新 sudo apt-get update
再次apt-cache madison docker-ce
就可以看到极多版本的docker了
安装sudo apt-get install docker-ce docker-ce-cli containerd.io
查看docker是否启动 systemctl status docker
未启动则启动 systemctl start docker
尝试允许hello-world 的image,没有问题,安装成功
其他
安装了git方便以后管理代码
本来还想弄个gitbook部署上去,但是域名访问还要备案,内容也还没开始写,同步起来也比较麻烦,还是以后再弄吧
大致步骤是先在本地写好md文件及目录结构,build
生成对应的静态文件,其中gitbook的源码还要结合nginx或express,用server.js设置好端口
然后将除modules以外的文件同步到github。服务器clone仓库,进入目录执行npm install
安装依赖。 pm2执行server.js即可访问