ubuntu安装vscode
依次输入如下命令
1、sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
2、sudo apt-get update
3、sudo apt-get install ubuntu-make
4、umake ide visual-studio-code 或者:umake web visual-studio-code
提示输入a即可
卸载:umake web visual-studio-code --remove
ubuntu安装golang
1、wget https://dl.google.com/go/go1.12.4.linux-amd64.tar.gz
2、sudo tar -C /usr/local -xzf go1.12.4.linux-amd64.tar.gz
3、创建好go文件夹: mkdir go
4、vim ~/.bashrc
添加以下内容:
#add for golang by fanggan
export PATH=
P
A
T
H
:
/
u
s
r
/
l
o
c
a
l
/
g
o
/
b
i
n
e
x
p
o
r
t
G
O
R
O
O
T
=
/
u
s
r
/
l
o
c
a
l
/
g
o
e
x
p
o
r
t
G
O
P
A
T
H
=
PATH:/usr/local/go/bin export GOROOT=/usr/local/go export GOPATH=
PATH:/usr/local/go/binexportGOROOT=/usr/local/goexportGOPATH=HOME/go
export PATH=
G
O
P
A
T
H
/
b
i
n
:
GOPATH/bin:
GOPATH/bin:GOROOT/bin:$PATH
5、source ~/.bashrc
6、go version
看日志 :journalctl --unit devsnapshotv2.service -f
看端口交互:ss|grep 55678
监控端口:tcpdump port 55678
Ubuntu下进行MongoDB安装步骤
Ubuntu安装mongodb:
1. 安装:sudo apt-get install mongodb
2. 确认:安装后会自动运行,pgrep mongo -l 查看进程是否已经启动
3. 直接“mongo”,进入数据库。
Ubuntu使用mongodb:
启动/关闭/重启
sudo service mongodb start
sudo service mongodb stop
sudo service mongodb restart
查看状态:systemctl status mongodb
locate mongo 查看有关路径的信息
日志默认/var/log/mongodb/mongodb.log
配置文件默认 /etc/mongodb.conf
程序默认/usr/bin/mongod
配置文件/etc/mongodb.conf中也可以设置一些属性,如:
logpath=/var/log/mongodb/mongodb.log #日志路径
logappend=true #日志以追加方式更新
bind_ip = 0.0.0.0 #127.0.0.1则只绑定本地ip,即关闭远程连接
port = 27017 #默认端口
设置允许远程连接,须保证
1. 防火墙关闭或者允许mongo的27017端口
查看防火墙状态:sudo ufw status =>设置允许27017端口:sudo ufw allow 27017 => 开启:sudo ufw enable
或者直接关闭防火墙:sudo ufw disable
2. 启动的mongo允许别的ip连接它。
如果有类似"This server is bound to localhost,Remote systems will be unable to connect to this server"的警告就是不允许远程连接。ps -ef | grep mongo确认没有相关进程后重启服务,如果有mongod进程,sudo kill -15之。
进入/usr/bin重启服务:sudo ./mongod --dbpath /var/lib/mongodb/ --bind_ip_all --logpath /var/log/mongodb/mongodb.log --logappend &
如果启动失败,先直接 ./mongod或者sudo ./mongod
退出后再次 sudo ./mongod --dbpath /var/lib/mongodb/ --bind_ip_all --logpath /var/log/mongodb/mongodb.log --logappend &
设置完成后测试远程连接:mongo 10.10.4.100/local
本地连接:mongo
远程连接:mongo127.0.0.1/admin -u username -p password
内核相关:
查看生效的所有参数:sysctl -a
修改内核参数:
1. 如sysctl -w net.ipv4.tcp_timestamps=1
2. 直接修改/etc/sysctl.conf文件,并重启sysctl -p
“connect: cannot assign requested address”
报错原因:客户端频繁的连接服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT(netstat -ant|grep TIME_WAIT|wc -l),以至于用光了可用的端口号,所以新的连接没办法绑定端口,于是报无法分配请求地址。这是客户端的问题,与服务端没有关系。
解决方案:
- 修改/etc/sysctl.conf,加入 net.ipv4.ip_local_port_range = 1024 65535 后重启(sysctl -p)
2.修改系统内核相关的参数:
net.ipv4.ip_forward=1 表示开启对于TCP时间戳的支持,若该项设置为为0,则net.ipv4.tcp_tw_reuse设置不起作用,该值系统默认是0
net.ipv4.tcp_syncookies = 1 表示开启对于TCP时间戳的支持,若该项设置为为0,则net.ipv4.tcp_tw_reuse设置不起作用,该值系统默认是0
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭
net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭
net.ipv4.tcp_fin_timeout = 30 修改系統默认的TIMEOUT时间,默认是60
参考:https://blog.51cto.com/legehappy/2095539
http: Accept error: accept tcp [::]:55678: accept4: too many open files
报错原因:文件句柄太少
解决方案:查看当前限制 ulimit -n , 修改限制 :ulimit -n 1000001
句柄长久生效:sudo vim /etc/security/limits.conf,添加或修改如下两行:
root soft nofile 2000
root hard nofile 2001
其他:
1. cat /proc/sys/fs/file-max 的内容只是建议值,对/etc/security/limits.conf 里的设定值没有限制作用;
2. /etc/security/limits.conf会限制非root用户的ulimit -n;
3. 非root用户,ulimit -n只能越设置越小