部署踩坑集锦

Oct. 19, 2016, 5:13 p.m.
标签: deploy nginx

nginx 静态文件服务出错

nginx 出现 500 或 403 ,查 log 发现是没有权限打开目标静态文件。先查看 /etc/nginx/nginx.conf 确定 nginx 运行时使用的用户,通常是 nginx

验证问题:

$ sudo -u nginx stat /home/gerald/awesome
# 如果存在此问题,则提示没有权限

解决方法:给目标目录及其所有上级目录加上其他用户(Other)的执行权限(x):

$ sudo chmod o+x /home /home/gerald /home/gerald/awesome

NPM 装某些包出现找不到 node-gyp 命令的问题

node-gyp 实际上是存在于包的依赖中的,但是依然会出现找不到命令的问题,其实是因为某些命令默认不支持在 root 账户下运行,而 NPM 的错误提示实在是没什么卵用。解决方法很简单,加一个参数:

$ npm i <package> -g --unsafe-perm

node-pre-gyp 安装时使用镜像

讲真,以国内的网络环境,前端能发展起来还真是牛逼。 node-pre-gyp 这个东西一定要自己搞一套安装模式,好在国人影响太大,它还特意针对中国国情提供了使用镜像的参数,虽然说是 NPM 的 config 参数,但最终本质上都是环境变量,所以有两种配置方式:

$ npm i <package> --{package}_binary_host_mirror=https://npm.taobao.org/mirrors
# OR
$ npm_config_node_{package}_binary_host_mirror=https://npm.taobao.org/mirrors npm i <package>

pip 源速度慢

可以切换到阿里云的源:

$ mkdir -p ~/.pip
$ vim ~/.pip/pip.conf
# 或Windows上的$HOME/pip/pip.ini

写入以下内容:

[global]
trusted-host = mirrors.aliyun.com
index-url = http://mirrors.aliyun.com/pypi/simple

也可以写到命令里:

$ pip install -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com ...