阿里云安装配置yarn,Nginx
1、和npm 相比yarn 的优势在于
1、比npm快。npm是一个个安装包,yarn 是并行安装。
2、npm 可能会有情况 同样的 package.json 文件在不同的机器上安装的包不一样。导致出现莫名其妙的问题。不过啊现在 npm 也 采用了 package-lock.json的方法。减少版本错乱。
整体来说 yarn 管理的包版本比较严格,不易出错。npm 有可能出错。如果是上生产,多人协助,用yarn 更适合。
2、本地和远程都安装好 yarn
本地安装 mac OS 版本的yarn
brew install yarn
安装yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
// ubantu版本不同,安装的命令也会不同,按照提示即可。我用上面的命令没有成功,就用了下面的命令 安装成功
sudo apt-get update && sudo apt-get install yarn
如果不够快,可切换为淘宝源
$yarn config set registry https://register.npm.taobao.org
2、全局的npm 包还可以用npm安装。
1、全局安装 vue-cli 和 pm2
通过 pm2 start server.js
pm2 会自动维护服务进程。不需要我们在手动维护服务
\(pm2 list
查看服务列表
查看更加详细的信息
\)pm2 show server
//停止服务
\(pm2 stop server
//查看实时日志
\)pm2 logs
//重启服务
$pm2 restart
2、如和解决mac 终端连接远程服务时隔几分钟就卡死
/etc/ssh/ssh_config 添加以下设置可解决这个问题:
断开时重试连接的次数
ServerAliveCountMax 5
每隔5秒自动发送一个空的请求以保持连接
ServerAliveInterval 5
3、安装 和配置 Nginx
停掉阿里云默认有的apache 服务,因为他占用了 80 端口,影响我们的node 服务。
$sudo service apache2 stop
或者直接删除apache
\(update-rc.d -f apache2 remove
apt-get 也删除
\)sudo apt-get remove apache2
更新apt-get
$sudo apt-get update
//安装nginx
\(sudo apt-get install nginx
//查看版本号
\)nginx -v
//切换到指定目录
cd /etc/nginx/conf.d
//创建一个配置文件
touch demo.conf
//编写配置项
负载均衡示例:要引入 以下代码,其中 upstream 是命令,demo 是负载均衡的配置名,要用到ip_hash; 后面跟多个内网服务器。ip_hash 可以保证用户访问过的服务器下次还被分配到指定的内网服务器。这样整个会话的session 就不会被破坏掉。在upstream 可以设置 负载均衡的权重,请求的重试的次数,请求失败暂停的时间等等。
upstream demo {
ip_hash;
server xx.xx.xx.xx:3007;
server 127.0.0.1:3006;
}
这里我们先不做负载均衡的配置:
关键要配置好 upstream 中的server 和 server 中的 server_name 以及 location中的proxy_pass。其中 proxy_pass 对应的 http://demo; 要和自己的域名中前缀对应。并在万网中新建
upstream demo {
server 127.0.0.1:3010;
}
server {
listen 80;
server_name demo.upumind.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_pass http://demo;
}
}
//esc :wq 保存配置之后 重启nginx
\(sudo service nginx restart
//用pm2 启动 服务demo
\)cd ~
$pm2 start service.js
在浏览器里输入域名 或者 ip:port 查看服务是否启动
//用ubantu自带的命令去看nginx的启动情况
ps -ef | grep nginx