阿里云安装配置yarn,Nginx

时间:2023-03-09 16:46:43
阿里云安装配置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