fix: 修改bug
This commit is contained in:
parent
41459c4819
commit
83e7ea9f59
310
docs/fea/css/intro.md
Normal file
310
docs/fea/css/intro.md
Normal file
@ -0,0 +1,310 @@
|
||||
---
|
||||
nav:
|
||||
title: 前端
|
||||
path: /fea
|
||||
group:
|
||||
title: 💊 css
|
||||
order: 1
|
||||
path: /css
|
||||
---
|
||||
|
||||
# 基础介绍
|
||||
|
||||
## 布局
|
||||
|
||||
### 绝对定位法
|
||||
|
||||
|
||||
> 左右两栏采用绝对定位,中间的由两边的margin撑开
|
||||
|
||||
|
||||
|
||||
```html
|
||||
<body>
|
||||
<div id="main"></div>
|
||||
<div id="left"></div>
|
||||
<div id="right"></div>
|
||||
</body>
|
||||
|
||||
#main {
|
||||
margin:0 200px;
|
||||
background:red;
|
||||
}
|
||||
#left{
|
||||
position:absolute;
|
||||
top:0;left:0;
|
||||
width:200px;
|
||||
background:blue;
|
||||
height:100%;
|
||||
}
|
||||
#right{
|
||||
position:absolute;
|
||||
top:0;right:0;
|
||||
width:200px;
|
||||
background:green;
|
||||
height:100%;
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
这种布局缺点是,当缩放到一定大小的时候,会出现重叠现象
|
||||
|
||||
|
||||
### 自身浮动法
|
||||
|
||||
|
||||
> 左栏左浮动,右栏右浮动,中间栏放最后
|
||||
|
||||
|
||||
|
||||
```html
|
||||
<body>
|
||||
<div id="left"></div>
|
||||
<div id="right"></div>
|
||||
<div id="main"></div>
|
||||
</body>
|
||||
|
||||
#main {margin:0 200px;background:red;}
|
||||
#left{float:left;width:200px;background:blue;height:100%;}
|
||||
#right{float:right;width:200px;background:green;height:100%;}
|
||||
```
|
||||
|
||||
|
||||
简单而高效,代码还容易理解,适合初学者
|
||||
|
||||
|
||||
### 圣杯布局
|
||||
|
||||
|
||||
```html
|
||||
//注意元素次序
|
||||
<div class="main">Main</div>
|
||||
<div class="left">Left</div>
|
||||
<div class="right">Right</div>
|
||||
|
||||
//习惯性的CSS reset
|
||||
body,html{
|
||||
height:100%;
|
||||
padding: 0;
|
||||
margin: 0
|
||||
}
|
||||
//父元素body空出左右栏位
|
||||
body {
|
||||
padding-left: 100px;
|
||||
padding-right: 200px;
|
||||
}
|
||||
//左边元素更改
|
||||
.left {
|
||||
background: red;
|
||||
width: 100px;
|
||||
float: left;
|
||||
margin-left: -100%;
|
||||
position: relative;
|
||||
left: -100px;
|
||||
height: 100%;
|
||||
}
|
||||
//中间部分
|
||||
.main {
|
||||
background: blue;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
float: left;
|
||||
}
|
||||
//右边元素定义
|
||||
.right {
|
||||
background: red;
|
||||
width: 200px;
|
||||
height: 100%;
|
||||
float: left;
|
||||
margin-left: -200px;
|
||||
position: relative;
|
||||
right: -200px;
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
稍微难理解一点,不过这种布局目前我觉得是适配性比其他两种要好的布局方式,缺点是后期维护性不高
|
||||
|
||||
|
||||
### 双飞翼布局
|
||||
|
||||
|
||||
```html
|
||||
div class="main">
|
||||
<div class="inner">
|
||||
Main
|
||||
</div>
|
||||
</div>
|
||||
<div class="left">Left</div>
|
||||
<div class="right">Right</div>
|
||||
```
|
||||
|
||||
|
||||
> css样式就是将body上的左右margin值去掉,加在新增的 div 中
|
||||
|
||||
|
||||
|
||||
这种布局方式为淘宝 UED 提出,目前最好用的一种布局方式,相比较圣杯布局,去掉了相对布局,代码更简洁
|
||||
|
||||
小记:前两天面试,展现项目过程中经理问我轮播图的原理,我一脸懵逼,因为当时有现成的插件,所以我没怎么去研究,当然,我也知道该来的还是要来的...
|
||||
|
||||
|
||||
首先我大概讲一下,传统轮播图的主要部分:
|
||||
|
||||
|
||||
- 图片(废话)
|
||||
- 左右两边的button
|
||||
- 可以跳转的小点
|
||||
|
||||
## 轮播图
|
||||
|
||||
|
||||
- 轮播图的原理就是一个长图,里面有很多张图,外面包一层展示窗口,将属性设置成overflow:hidden,达到只显示一张的效果,当点击左右两边的按钮时会按照像素来跳转
|
||||
|
||||
|
||||
|
||||
### 无限滚动
|
||||
|
||||
|
||||
- 我给两个按钮设为 **prev next** 一个在点击后,长图会增加一张图的宽度,一个是减少一个图的宽度,在图片的头和尾部加一张图,结构大概为:
|
||||
|
||||
|
||||
|
||||
```html
|
||||
<div id="list" style="left:-200px">
|
||||
<img src="./img/5.jpg" alt="">
|
||||
<img src="./img/1.jpg" alt="">
|
||||
<img src="./img/2.jpg" alt="">
|
||||
<img src="./img/3.jpg" alt="">
|
||||
<img src="./img/4.jpg" alt="">
|
||||
<img src="./img/5.jpg" alt="">
|
||||
<img src="./img/1.jpg" alt="">
|
||||
</div>
|
||||
```
|
||||
|
||||
|
||||
当是最后一张图或第一张图时,将第一张上一张跳转为最后一张时的宽,最后一张跳转为第一张时的宽
|
||||
|
||||
|
||||
```javascript
|
||||
if (newList < -1000) {
|
||||
dot = 1
|
||||
list.style.left = -200 + 'px'
|
||||
}
|
||||
if (newList > -200) {
|
||||
dot = 5
|
||||
list.style.left = -1000 + 'px'
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### 小按钮切换
|
||||
|
||||
|
||||
这要实现的思想有
|
||||
|
||||
|
||||
- 点了小按钮,背景色会变
|
||||
- 当点击切换到其他按钮,图片切换,且上一个按钮会变回原来的颜色
|
||||
|
||||
|
||||
|
||||
```javascript
|
||||
function showBtn() {
|
||||
for (var i = 0; i < btns.length; i++) {
|
||||
if (btns[i].className == 'show-btn') {
|
||||
btns[i].className = ''
|
||||
break
|
||||
}
|
||||
}
|
||||
btns[dot-1].className = 'show-btn'
|
||||
}
|
||||
//遍历数组,将有该属性设为空
|
||||
|
||||
for (var i = 0; i < btns.length; i++) {
|
||||
btns[i].onclick = function () {
|
||||
if (this.className == 'showBtn') {
|
||||
return
|
||||
}
|
||||
var myIndex = parseInt(this.getAttribute('index'))
|
||||
var leng = -200 * (myIndex - dot)
|
||||
animate(leng)
|
||||
dot = myIndex
|
||||
showBtn()
|
||||
}
|
||||
}
|
||||
//遍历数组,将每一个小按钮设了个index属性,这里用到 getAttribute 可以获取除了普通style 或 class 之外的一些属性,获取index值,点击时得到当前的index值,正好和当前的dot值相减,可得跳转的距离
|
||||
```
|
||||
|
||||
|
||||
> 这里要注意的是,当小按钮被重复按的时候,给他一个判断,不然重复点击同一个图标会重复发生相同事件,占内存,耗cpu
|
||||
|
||||
|
||||
|
||||
### 延迟动画函数
|
||||
|
||||
|
||||
就是当用户点击时,有一个慢慢偏移的过程,而不是闪现的动作,我们来看看实现原理
|
||||
|
||||
|
||||
- 首先,定义参数
|
||||
|
||||
|
||||
|
||||
```javascript
|
||||
var time = 300 //位移总时间
|
||||
var interval = 10 //位移时间间隔
|
||||
var speed = leng/(time/interval) //每次位移量,就是一共调用多少次的意思
|
||||
```
|
||||
|
||||
|
||||
- 设置递归函数
|
||||
|
||||
|
||||
|
||||
```javascript
|
||||
if ((speed < 0 && parseInt(list.style.left) > newList) || (speed > 0 && parseInt(list.style.left) < newList)) {
|
||||
list.style.left = parseInt(list.style.left) + speed + 'px'
|
||||
setTimeout(go, interval) //递归,调用自身函数
|
||||
```
|
||||
|
||||
|
||||
- 判断是否仍在动画
|
||||
|
||||
|
||||
|
||||
如果用户一直在点击切换图时,如果电脑配置不好,或是其他一些因素,可能会轮播卡顿,为了防止这一现象,就用一个判断来看上一次动画是否完成,若未完成就不能继续切换,等到这次动画跳转完为止
|
||||
|
||||
|
||||
```javascript
|
||||
var animated = false //设初值
|
||||
|
||||
if(!animated) {
|
||||
animate(200)
|
||||
} //如果为false,则继续动画
|
||||
```
|
||||
|
||||
|
||||
### 自动播放
|
||||
|
||||
|
||||
首先给个思路,当鼠标移入的时候,自动播放停止,移出的时候开始自动播放
|
||||
|
||||
|
||||
- 我们设两个函数,play() 和 stop()
|
||||
|
||||
|
||||
|
||||
```javascript
|
||||
function play() {
|
||||
timer = setTimeout(function() {
|
||||
next.onclick()
|
||||
play()
|
||||
},interval)
|
||||
}
|
||||
function stop() {
|
||||
clearTimeout(timer)
|
||||
}
|
||||
```
|
||||
|
||||
最后给整个 container 容器添加该鼠标事件
|
65
docs/fea/node/intro.md
Normal file
65
docs/fea/node/intro.md
Normal file
@ -0,0 +1,65 @@
|
||||
---
|
||||
nav:
|
||||
title: 前端
|
||||
path: /fea
|
||||
group:
|
||||
title: 💊 node
|
||||
order: 4
|
||||
path: /node
|
||||
---
|
||||
|
||||
|
||||
# 💊 node
|
||||
|
||||
## 安装
|
||||
### 方法1
|
||||
#### 拉取nvm
|
||||
|
||||
- wget -qO- [https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh](https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh) | bash
|
||||
#### 安装nvm
|
||||
```javascript
|
||||
// 打开bash
|
||||
source ~/.bash_profile
|
||||
|
||||
// 写入 node文件指向
|
||||
export NODE_HOME=/usr/local/tool/nodejs/node
|
||||
export PATH=$NODE_HOME/bin:$PATH
|
||||
```
|
||||
|
||||
- nvm install node(版本号)or nvm install stable
|
||||
- 方案2
|
||||
- curl --silent --location [https://rpm.nodesource.com/setup_11.x](https://rpm.nodesource.com/setup_11.x)| sudo bash -
|
||||
### 方法2
|
||||
|
||||
|
||||
1. 第一步
|
||||
```
|
||||
wget https://npm.taobao.org/mirrors/node/v12.16.1/node-v12.16.1-linux-x64.tar.gz
|
||||
```
|
||||
|
||||
|
||||
2. 第二步
|
||||
```
|
||||
tar -xvf node-v12.16.1-linux-x64.tar.gz
|
||||
yum install gcc gcc-c++
|
||||
```
|
||||
|
||||
|
||||
3. 第三步
|
||||
```
|
||||
mv node-v12.16.1-linux-x64.tar.gz node
|
||||
```
|
||||
|
||||
4. 第四步
|
||||
```
|
||||
ln -s /usr/local/bin/node/bin/node /usr/bin/node
|
||||
ln -s /usr/local/bin/node/bin/npm /usr/bin/npm
|
||||
ln -s /usr/local/bin/node/bin/npx /usr/bin/npx
|
||||
```
|
||||
|
||||
|
||||
### 安装 GIT
|
||||
|
||||
- curl [https://setup.ius.io](https://setup.ius.io) | sh
|
||||
- yum install -y git2u
|
||||
- git --version
|
230
docs/tools/centOS.md
Normal file
230
docs/tools/centOS.md
Normal file
@ -0,0 +1,230 @@
|
||||
---
|
||||
nav:
|
||||
title: 工具
|
||||
path: /tools
|
||||
group:
|
||||
title: 💊 终端命令
|
||||
order: 4
|
||||
path: /centos
|
||||
---
|
||||
|
||||
# 💊 终端命令
|
||||
|
||||
## 常用命令
|
||||
|
||||
### 如何连接阿里云ECS
|
||||
- ssh root@example.com
|
||||
|
||||
### 删除进程
|
||||
|
||||
- sudo kill 9 ID
|
||||
|
||||
### 关闭端口
|
||||
|
||||
- firewall-cmd --zone=public --remove-port=3000/tcp --permanent
|
||||
|
||||
### 用 tree 结构化展示列表
|
||||
- brew install tree
|
||||
- 忽略某些文件夹
|
||||
- tree -I '*svn|*node_module*' -d
|
||||
|
||||
### 查看端口进程
|
||||
- lsof -i tcp:8080
|
||||
- 杀掉:kill -9 pid
|
||||
|
||||
|
||||
## 用户权限
|
||||
|
||||
### 查看位置
|
||||
- whereis sudoers
|
||||
### 查看权限
|
||||
|
||||
- ls -l /etc/sudoers
|
||||
### 添加权限
|
||||
|
||||
- chmod -v u+w /etc/sudoers
|
||||
### 修改用户权限
|
||||
|
||||
- vim /etc/sudoers
|
||||
### 加上和 root 相同的 ALL权限
|
||||
|
||||
- root ALL=(ALL) ALL
|
||||
### 收回权限
|
||||
|
||||
- chmod -v u-w /etc/sudoers
|
||||
|
||||
### 创建用户
|
||||
- useradd {用户名}
|
||||
### 创建用户密码
|
||||
|
||||
- passwd {用户名}
|
||||
|
||||
## 密码登录
|
||||
|
||||
- sudo cat /etc/passwd
|
||||
|
||||
### sudo权限配置
|
||||
|
||||
- ① 到文件夹 /etc/sudoers 执行 visudo
|
||||
- ② 修改 {用户名} ALL=(ALL) NOPASSWD:ALL
|
||||
|
||||
## 查看电脑配置
|
||||
|
||||
### 物理CPU个数。
|
||||
```javascript
|
||||
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
|
||||
```
|
||||
|
||||
### 每个物理CPU中core的个数,即CPU核数
|
||||
```javascript
|
||||
cat /proc/cpuinfo| grep "cpu cores"| uniq
|
||||
```
|
||||
|
||||
### 逻辑CPU的个数
|
||||
> cat /proc/cpuinfo| grep "processor"| wc -l
|
||||
|
||||
### CPU型号
|
||||
> cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
|
||||
|
||||
### 内存信息
|
||||
> cat /proc/meminfo
|
||||
|
||||
### 查看所有进程
|
||||
|
||||
> ps aux
|
||||
|
||||
### 查看所有已开启进程
|
||||
```javascript
|
||||
systemctl list-unit-files | grep enable
|
||||
|
||||
关闭进程
|
||||
sudo systemctl stop {serverName}
|
||||
```
|
||||
|
||||
### 查看进程端口
|
||||
> ps -ef | grep jenkins
|
||||
|
||||
### 列出所有端口
|
||||
> netstat -ntlp
|
||||
|
||||
## 软件安装
|
||||
|
||||
### ruby
|
||||
|
||||
> - yum install ruby
|
||||
|
||||
### homebrew
|
||||
|
||||
#### 第一步:创建brew文件夹
|
||||
|
||||
- sudo mkdir /usr/local/Homebrew
|
||||
#### 第二步:克隆 brew 源
|
||||
|
||||
- sudo git clone [https://mirrors.ustc.edu.cn/brew.git](https://mirrors.ustc.edu.cn/brew.git)/usr/local/Homebrew
|
||||
#### 第三步:创建一个快捷方式到/usr/local/bin目录
|
||||
|
||||
- sudo ln -s /usr/local/Homebrew/bin/brew /usr/local/bin/brew
|
||||
#### 第四步:创建core文件夹 并 克隆(两句话分开运行)
|
||||
|
||||
- sudo mkdir -p /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
|
||||
- sudo git clone [https://mirrors.ustc.edu.cn/homebrew-core.git](https://mirrors.ustc.edu.cn/homebrew-core.git)/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
|
||||
#### 第五步:获取权限 运行更新(两句话分开运行)
|
||||
|
||||
- sudo chown -R $(whoami) /usr/local/Homebrew
|
||||
- brew update
|
||||
#### 最后:设置环境变量
|
||||
|
||||
- echo 'export HOMEBREW_BOTTLE_DOMAIN=[https://mirrors.ustc.edu.cn/homebrew-bottles'](https://mirrors.ustc.edu.cn/homebrew-bottles') >> ~/.zshrcecho '
|
||||
- export HOMEBREW_BOTTLE_DOMAIN=[https://mirrors.ustc.edu.cn/homebrew-bottles'](https://mirrors.ustc.edu.cn/homebrew-bottles') >> ~/.bash_profile
|
||||
|
||||
### 文件上传下载工具
|
||||
|
||||
```
|
||||
yum install lrzsz -y
|
||||
<!-- 上传: rz -->
|
||||
<!-- 下载:sz 文件名 -->
|
||||
```
|
||||
|
||||
### 解压软件
|
||||
```
|
||||
yum install -y unzip zip
|
||||
使用:unzip 文件名
|
||||
```
|
||||
|
||||
|
||||
## Q&A
|
||||
|
||||
### 如何免密登录
|
||||
|
||||
#### 第一步:查看本机是否有 id_rsa.pub 文件
|
||||
```javascript
|
||||
cat ~/.ssh/id_rsa.pub
|
||||
```
|
||||
如果输出为空,就在下一步创建一下
|
||||
|
||||
|
||||
#### 第二步:创建 id_rsa.pub 文件
|
||||
如果本机已经存在该文件,就直接跳到第三步
|
||||
|
||||
##### 1. 先登录 git 账号
|
||||
```javascript
|
||||
git config --globaluser.name "j710328466"
|
||||
git config --global user.email "710328466@qq.com"
|
||||
```
|
||||
|
||||
##### 2. 生成 ssh 相关文件
|
||||
```javascript
|
||||
ssh-keygen -t rsa -C "710328466@qq.com"
|
||||
```
|
||||
|
||||
#### 第三步:授权到远端 Ecs
|
||||
|
||||
|
||||
##### 复制本地端的 id_rsa.pub
|
||||
注意应该是以 ssh-rsa 开头到 XXXXX.XXXXX.XXXX 结束的一段,这个可能是个会导致错误的点,建议如果你登录失败的时候可以回来看看这边是不是错了
|
||||
|
||||
##### 登录远程Ecs,创建 authorized_keys 文件
|
||||
在 .ssh 文件夹下创建 authorized_keys 文件,并将之前复制的 id_rsa.pub 内容粘贴进去
|
||||
```javascript
|
||||
# 参考代码
|
||||
cd ~/.ssh
|
||||
touch authorized_keys
|
||||
vim authorized_keys
|
||||
```
|
||||
|
||||
##### 更改授权 (可选)
|
||||
```javascript
|
||||
# 设置所有人可以读写及执行
|
||||
chmod 777 ~/.ssh
|
||||
|
||||
# 设置拥有者可读写
|
||||
chmod 600 ~/.ssh/authorized_keys
|
||||
```
|
||||
> 这一步按自己的需要来设置
|
||||
|
||||
#### 最后:就可以免密登录啦~
|
||||
现在打开本机的终端,terminal,zsh 输入下面的代码就可以实现免密登录啦
|
||||
```javascript
|
||||
ssh ${用户名}@${ip地址 或者 域名}
|
||||
```
|
||||
|
||||
### Unable to lock the administration directory
|
||||
|
||||
```js
|
||||
- apt-get update
|
||||
- apt-get upgrade
|
||||
- apt-get dist-upgrade
|
||||
- alexander@alexander-virtual-machine:~$ sudo apt-get install -y httpd
|
||||
- E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
|
||||
- E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
|
||||
|
||||
|
||||
- 解决方案:
|
||||
- 其实这是因为有另外一个程序在运行,导致锁不可用。原因可能是上次运行更新或安装没有正常完成。解决办法是杀死此进程
|
||||
- sudo rm /var/cache/apt/archives/lock
|
||||
- sudo rm /var/lib/dpkg/lock
|
||||
- 但是这样不能解决问题:可能还会出现问题,解决方案:
|
||||
- 1,sudo dpkg --configure -a
|
||||
- 2,sudo apt-get update
|
||||
|
||||
```
|
194
docs/tools/nginx.md
Normal file
194
docs/tools/nginx.md
Normal file
@ -0,0 +1,194 @@
|
||||
---
|
||||
nav:
|
||||
title: 工具
|
||||
path: /tools
|
||||
group:
|
||||
title: 💊 nginx
|
||||
order: 1
|
||||
path: /nginx
|
||||
---
|
||||
|
||||
# 💊 nginx
|
||||
|
||||
## 安装
|
||||
|
||||
### 环境确认
|
||||
|
||||
#### 确认网络
|
||||
|
||||
- ping [www.baidu.com](http://www.baidu.com)
|
||||
#### 确认 yum 源是否可用
|
||||
|
||||
- yun list|grep gcc
|
||||
#### 关闭 iptables 规则
|
||||
|
||||
- iptables -L 查看
|
||||
- iptables -F 关闭
|
||||
- iptables -t nat -L
|
||||
#### 关闭 getenforce
|
||||
|
||||
- setenforce 0
|
||||
|
||||
### 新建文件目录
|
||||
|
||||
```
|
||||
- backup 备份
|
||||
- app 源文件
|
||||
- logs 日志
|
||||
- work 脚本
|
||||
- download 下载资源
|
||||
```
|
||||
|
||||
### 安装编译工具和库
|
||||
```js
|
||||
// 1
|
||||
wget [http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz](http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz)
|
||||
|
||||
// 2
|
||||
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
|
||||
```
|
||||
|
||||
### centos 快速安装
|
||||
- yum install nginx -y
|
||||
|
||||
## 常用命令
|
||||
|
||||
### 查看 nginx 配置文件路径和安装路径
|
||||
> nginx -t
|
||||
|
||||
|
||||
### 重启
|
||||
> nginx -s reload
|
||||
|
||||
|
||||
|
||||
### 杀掉
|
||||
> killall -9 nginx
|
||||
|
||||
|
||||
|
||||
### 初始目录
|
||||
> /usr/share/nginx/html
|
||||
|
||||
|
||||
|
||||
### 配置文件
|
||||
|
||||
```
|
||||
// /etc/nginx/nginx.conf
|
||||
user nginx;
|
||||
worker_processes auto;
|
||||
error_log /var/log/nginx/error.log;
|
||||
pid /run/nginx.pid;
|
||||
|
||||
include /usr/share/nginx/modules/*.conf;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
|
||||
access_log /var/log/nginx/access.log main;
|
||||
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
||||
keepalive_timeout 65;
|
||||
types_hash_max_size 2048;
|
||||
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
|
||||
upstream nodetest {
|
||||
server 127.0.0.1:3000;
|
||||
}
|
||||
|
||||
upstream mongo_backend {
|
||||
server 127.0.0.1:27017;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name nicecoders.github.io github.io;
|
||||
root /usr/share/nginx/html;
|
||||
|
||||
include /etc/nginx/default.d/*.conf;
|
||||
|
||||
location / {
|
||||
}
|
||||
|
||||
error_page 404 /404.html;
|
||||
location = /40x.html {
|
||||
}
|
||||
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name j710328466.github.io;
|
||||
|
||||
location / {
|
||||
# add_header Access-Control-Allow-Origin *;
|
||||
# add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
|
||||
# add_header Access-Control-Allow-Headers *;
|
||||
# 反向代理到 3000 端口
|
||||
#proxy_pass http://nodetest;
|
||||
proxy_pass http://0.0.0.0:3000;
|
||||
root html;
|
||||
index index.html index.htm;
|
||||
}
|
||||
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root html;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name nicecoders.github.io;
|
||||
|
||||
include /etc/nginx/default.d/*.conf;
|
||||
|
||||
location / {
|
||||
# 反向代理到 3100 端口
|
||||
proxy_pass http://0.0.0.0:3688;
|
||||
}
|
||||
|
||||
error_page 404 /404.html;
|
||||
location = /40x.html {
|
||||
}
|
||||
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root html;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
## Q&A
|
||||
|
||||
### 1. forbedden 403
|
||||
> chmod -R 777 /data
|
||||
> chmod -R 777 /data/www
|
||||
|
||||
```javascript
|
||||
还不行的话尝试关闭 selinux:
|
||||
vi /etc/selinux/config
|
||||
|
||||
#SELINUX=enforcing
|
||||
SELINUX=disabled
|
||||
```
|
||||
|
||||
|
100
docs/tools/vscode.md
Normal file
100
docs/tools/vscode.md
Normal file
@ -0,0 +1,100 @@
|
||||
---
|
||||
nav:
|
||||
title: 工具
|
||||
path: /tools
|
||||
group:
|
||||
title: 💊 vscode
|
||||
order: 9
|
||||
path: /vscode
|
||||
---
|
||||
|
||||
# 💊 vscode
|
||||
|
||||
## 插件推荐
|
||||
|
||||
### auto-Open Markdown
|
||||
|
||||
markdown 预览插件
|
||||
|
||||
### beautify
|
||||
|
||||
让代码更符合规范
|
||||
|
||||
### Bracket Pair Colorizer
|
||||
|
||||
括号上色插件,神器推荐
|
||||
|
||||
### vscode-ext-color-highlight
|
||||
|
||||
颜色上色插件
|
||||
|
||||
### color-picker
|
||||
|
||||
取色插件
|
||||
|
||||
### cssrem
|
||||
|
||||
rem转换工具,移动端开发可以安装
|
||||
|
||||
### Debugger for Chrome
|
||||
|
||||
debugger插件,正在学怎么用
|
||||
|
||||
### ESlint
|
||||
|
||||
代码规范插件
|
||||
|
||||
### file-icons
|
||||
|
||||
图标插件
|
||||
|
||||
### git History
|
||||
|
||||
查看历史修改记录插件
|
||||
|
||||
### hopscotch
|
||||
|
||||
可爱的代码颜色风格
|
||||
|
||||
### html css support
|
||||
|
||||
应该改支持代码提示插件吧
|
||||
|
||||
### markdownlint
|
||||
|
||||
markdown 语法提示插件
|
||||
|
||||
### path autocomplete
|
||||
|
||||
路径补全插件
|
||||
|
||||
### react native tools
|
||||
|
||||
暂时没用上
|
||||
|
||||
### react-native
|
||||
|
||||
也没用上
|
||||
|
||||
### settings sync
|
||||
|
||||
插件备份工具,同步用的,神器
|
||||
|
||||
### background
|
||||
|
||||
一款美化插件配置如下:
|
||||
|
||||
```
|
||||
"background.useDefault": false,
|
||||
"background.enabled": true,
|
||||
"background.customImages": [
|
||||
"file:///Users/mac/Desktop/improve/1.jpg"
|
||||
],
|
||||
"background.style": {
|
||||
"opacity": 0.1,
|
||||
"width": "1600px",
|
||||
"height": "1150px"
|
||||
}
|
||||
```
|
||||
|
||||
ps: 有的时候超级超级吃 CPU,好像有点bug 慎用!!
|
Loading…
Reference in New Issue
Block a user