阿里云安装配置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

posted @ 2019-06-03 01:26  wjwdive  阅读(2299)  评论(0编辑  收藏  举报