从服务器购买到项目发布上线(ubuntu服务器)
服务器的选购
- 购买大品牌 ,推荐阿里云:方便、免费的ssl证书 、大品牌、自带公网IP(非常重要)。七牛云:服务不错,(公网IP需另购)
- 选购注意,系统选错,可以更换磁盘,如果选区错了将不可以更换,比如所在地是杭州,选择华东地区即可,后面的域名、云服务器等选购建议与云主机地域一致。
- 优惠 ,云主机购买,有学生专享优惠。
- 云服务器ECS的优势,高可用性、安全性、弹性(扩容方便)
准备工作
- 链接
登录ECS管理控制台。
在左侧导航栏,选择实例与镜像 > 实例。
在顶部状态栏处,选择地域。
在实例列表中,找到已创建的实例ecs-01。在操作列,单击远程连接。
在弹出的远程连接密码对话框,复制密码,并单击关闭。
mac命令行工具链接:
打开终端: ssh 用户名@ip地址 回车 —> 输入密码
每次输入密码比较麻烦,可以将本机生成密钥对、上传密钥的服务器端
服务器端将密钥添加到 authorized_keys、本地客户端配置 ssh,添加服务器别名
https://blog.csdn.net/weixin_37272286/article/details/80007649 - 自定义安全组
默认安全组是只开放了22、自定义开放实例的端口号?
点击安全组/添加安全组规则
- 域名
购买了云主机之后 实例可以直接通过ip地址 加端口号的形式进行访问、如果需要域名映射、需要购买、然后进行域名的备案、阿里云的域名备案还是挺快的应该从审批到完成在半个月的时间内、域名备案成功后、就可以进行域名解析指向ip地址了 注:80端口是可以省的
域名解析: 通过控制台进入–> 域名的操作栏中有解析选项—>
主机记录:设置主机的二级域名 ,记录值 IP地址 , 记录类型选择默认的A类型
配置服务器
- 增加用户 : 默认是root 用户,最高权限,如果需要别人使用服务器、可以为其增加一个用户、 保护服务器配置的安全
// An highlighted block
- adduser + <用户名>;
- <输入密码>
- 安装配置环境
ubuntu 服务器安装命令是apt-get
更新安装包命令
sudo apt-get update
安装vim、openssl、wget、git 等
sudo apt-get install vim openssl build-essential libssl-dev wget curl git
安装 nvm
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
安装node等
nvm install node v10.15.3
nvm install node v6.9.5
切换node 版本
nvm use v6.9.5/10.15.3
安装vim、openssl、wget、git 等
sudo apt-get install vim openssl build-essential libssl-dev wget curl git
指定淘宝镜像
npm --registry=https://registry.npm.taobao.org install -g npm
npm -v
增加系统监听数目
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
安装常用模块
npm i pm2 webpack gulp grunt-cli -g
更新node
sudo apt-get install -y nodejs
安装pm2
npm install pm2 -g
-
安装反向代理nginx
一般ubuntu服务器预装apache2停止阿帕奇服务 sudo service apache2 stop 删除apache update-rc.d -f apache2 remove 清理 sudo apt-get remove apache2 更新 包列表 sudo apt-get update 安装nginx sudo apt-get install nginx 进入nginx cd .. cd /etc/nginx 进入conf.d 新建一个conf sudo vi blog_com_3389.cn sudo nginx -t 测试 sudo nignx -s stop 停止服务 sudo nginx 开启服务 sudo nginx -s reload. 重启
-
安装mysql
ubuntu上安装mysql非常简单只需要几条命令就可以完成。安装mysql sudo apt-get install mysql-server 安装mysql客户端 apt-get isntall mysql-client sudo apt-get install libmysqlclient-dev 更新包 sudo apt-get update 查看状态 sudo netstat -tap | grep mysql 登录 (默认没有密码,自己重设密码) mysql -u root -p
5. 搭建静态站点
用node搭建后台项目后,node app.js 启用服务,配置nginx 启用项目成功后 会发现关闭服务器时 , 项目会断开,如果需要可持续的提供后端服务需要pm2—进程管理工具
全局安装npm install -g pm2
pm2 start app.js --name <rename>
查看所有进程 pm2 list
停止 pm2 stop +name
重启 pm2 restart + name
查看log日志 pm2 log +name || 所有日志 pm2 logs
-
配置nginx
打开安装的nginx 文件的目录
ubuntu服务器的安装目录一般在 cd /etc/nginx
编辑vim nginx.confserver { listen 80; server_name blog.rockshang.cn; 解析的域名 location /api { proxy_pass http://127.0.0.1:7963; 后端 /api 访问api时的转发地址 } location / { root /home/rock/www/website; 前端静态文件 index index.html index.htm; } }
-
nginx 配置证书安全域名
申请授权证书
进入阿里云控制台,域名解析,更多里面有ssl证书,选择免费版本
购买
填写要用于的二级域名
申请验证即可 , 下载nginx 版本 上传到服务器的目录中
可以在nginx 目录 附近新建一个cert的文件夹 用来存放证书
配置nginx
server {
listen 443; 监听 443 端口
server_name www.baidu.com; 解析的域名
ssl on;
ssl_certificate cert/www.rockshang.cn.pem; 证书的地址
ssl_certificate_key cert/www.rockshang.cn.key; 证书的地址
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root /home/rock/www/website/page; 静态文件存放的地址 访问地址
index index.html index.htm; 入口文件
}
}
server {
listen 80;
server_name www.baidu.com; 解析的域名
return 301 https://$server_name$request_uri; // 访问http时转发成https
}