Centos7 防火墙

1、查看firewall服务状态

systemctl status firewalld

2、查看firewall的状态

firewall-cmd --state

3、开启、重启、关闭、firewalld.service服务

# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop

4、查看防火墙规则

firewall-cmd --list-all 

5、查询、开放、关闭端口

# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp

#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;

- 阅读剩余部分 -

Linux 安装Python3.x

1、安装依赖包
gcc编译器
其它依赖包:
zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
不要缺少,否则有可能安装python出错,python3.7.0以下的版本可不装 libffi-devel

2、下载python3.x源码,根据需求下载

wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
tar -zxvf Python-3.7.0.tgz

3、建立一个空文件夹,用于存放python3程序

mkdir /usr/local/python3

4、进入下载解压目录,进行配置 编译安装

cd Python-3.7.0
./configure --prefix=/usr/local/python3
make && make install

5、建立软连接

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3

错误提示:
make error 一般是缺少依赖包
建立软连接提示已经存在文件:删除软连接 rm -rf python3

Spring boot内存控制

s设置为256k
Gc线程数量太多,减少为两个=> -XX:ParallelGCThreads=2。

Spring boot自带的tomcat线程数默认值为200个,我们没有这么大的并发量,这里修改Spring boot的配置application.properties的内容=> server.tomcat.max-threads = 10。
这里的优化是把JIT关掉,在Java启动的参数中添加 => -Djava.compiler=NONE

搭建Ngrok内网穿透工具

Ngrok 一个内网穿透工具(你想了解,可以百度谷歌)
我搭建来将本地的web工程发布到外网调试用的

下面是搭建过程:
服务器环境:centos7 x64 内核4.10
流程:
1.先安装git

执行 

yum install git
</pre>
(卸载执行:yum remove git)
2.安装go编译环境

yum install golang 
3.下载ngrok源码
git clone https://github.com/tutumcloud/ngrok.git ngrok
- cd进入ngrok目录,然后生成自签名证书 依次执行以下命令
>1.设置环境变量
  export NGROK_DOMAIN="xxx.xxxxx.com"
(注意xxx.xxxxx.com为你自己的域名 例如你想用xxx.baidu.com来转发服务就把上面的xxx.xxxxx.com替换为 xxx.baidu.com) >2.生成证书
openssl genrsa -out base.key 2048
openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt
>3.替换证书文件
cp base.pem assets/client/tls/ngrokroot.crt 
cp server.crt assets/server/tls/snakeoil.crt
cp server.key assets/server/tls/snakeoil.key
(注意执行cp命令会询问是否overwrite,输入y回车确认替换) 5.编译服务端 执行
sudo make release-server
等待成功编译后,会在bin目录下找到ngrok 6.编译客户端 执行 sudo make release-server #linux
make release-client
会在bin目录下找到ngrokd文件。 #windows
GOOS=windows GOARCH=amd64
make release-client
客户端exe在./bin/windows_amd64下 #mac
GOOS=darwin GOARCH=amd64
make release-client
7.服务端启动 执行
./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="xxx.xxxxx.com" -httpAddr=":8081" -httpsAddr=":8082"
(注意其中xxx.xxxxx.com请替换为你自己的域名,8081和8082端口你可以自定义) 执行上一步的命令后,如果成功运行,会输出如下信息
[00:46:10 CST 2016/12/30] [INFO] (ngrok/log.(*PrefixLogger).Info:83)[registry] [tun] No affinity cache specified 
[00:46:10 CST 2016/12/30] [INFO] (ngrok/log.(*PrefixLogger).Info:83) [metrics]Reporting every 30 seconds 
[00:46:10 CST 2016/12/30] INFO Listening for public http connections on[::]:8081
[00:46:10 CST 2016/12/30] [INFO] (ngrok/log.Info:112)Listening for public https connections on [::]:8082
[00:46:10 CST 2016/12/30] [INFO] (ngrok/log.Info:112) Listening for control and proxy connections on [::]:4443
8.测试是否开始成功 在浏览器中输入http://xxx.xxxxx.com:8081或http://xx.xxx.xxxxx.com:8081 提示Tunnel xxx.xxxxx.com:8081 not found 即服务上线 9.客户端使用 windows下 在客户端目录下放置配置文件ngrok.cfg 配置内容
server_addr: "agent.namerror.com:4443"
trust_host_root_certs: false 
在cmd中cd进入客户端目录,执行
ngrok -config=ngrok.cfg -subdomain test 80 
如果提示Tunnel Status online 则可以通过test.xxx.xxxxx.com:8081访问你本地127.0.0.1:80的项目 ---------- 后台启动服务端 nohup ./bin/ngrokd -tlsKey=device.key -tlsCrt=device.crt -domain="xxx.xxxx.com" -httpAddr=":8081" -httpsAddr=":8082" &