yum源更新时解析IPv6地址问题

操作系统本身关闭的IPv6地址,但yum源更新时依然解析了IPv6的地址,但是IPv6无法连接。

解决方法:

# 修改yum配置文件

vim /etc/yum.conf

# 增加ip解析配置

ip_resolve=4

# 更新确认

yum update

Yum Transaction Check Error

在系统执行更新时遇到“Yum Transaction Check Error”,解决方法如下:

#yum shell

进入YUM的命令行模式
#remove package

移除报错的对应包名称
#install package

重新安装对应的应用包
#run

执行安装命令

Mac install gradle

通过 brew 工具安装

#brew update && brew install gradle

手动安装

访问:https://gradle.org/releases/,下载最新版本

https://services.gradle.org/distributions/gradle-4.2.1-bin.zip

将压缩包文件解压到本地,然后配置用户环境变量

检察是否安装成功

#gradle -v

 

maven spring-boot warning

错误告警:

Description    Resource    Path    Location    Type Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.18.1 from https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interva

解决方法:

找到maven设定的本地仓库路径,然后依次打开:org/apache/maven/plugins/maven-surefire-plugin,将下面的文件夹删除,然后选择maven项目工程,对项目工程进行更新。

Linux 使用NC命令永久监听本地端口

Linux可以使用nc命令来测试网络端口是否正常,类似于telnet命令,但也可以用nc命令来监听本地端口,支持TCP、UDP协议,当我们测试NTP服务网络策略是否正常时,可以使用到nc命令测试UDP 123端口。

使用案例如下:

1、测试TCP端口

nc -vz ip tcp-port

2、测试UDP

nc -uvz ip udp-port

3、临时监听TCP端口

nc -l port

4、永久监听TCP端口

nc -lk port

5、临时监听UDP

nc -lu port

6、永久监听UDP

nc -luk port

说明:默认监听的都是TCP端口

Nginx 服务启动脚本

#! /bin/sh

# chkconfig: 2345 55 25

# Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and

# run 'update-rc.d -f nginx defaults', or use the appropriate command on your

# distro. For CentOS/Redhat run: 'chkconfig –add nginx'

 

### BEGIN INIT INFO

# Provides:          nginx

# Required-Start:    $all

# Required-Stop:     $all

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: starts the nginx web server

# Description:       starts nginx using start-stop-daemon

### END INIT INFO

 

# Author:   licess

# website:  http://lnmp.org

 

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

NAME=nginx

NGINX_BIN=/usr/local/nginx/sbin/$NAME

CONFIGFILE=/usr/local/nginx/conf/$NAME.conf

PIDFILE=/usr/local/nginx/logs/$NAME.pid

 

case "$1" in

    start)

        echo -n "Starting $NAME… "

 

        if netstat -tnpl | grep -q nginx;then

            echo "$NAME (pid `pidof $NAME`) already running."

            exit 1

        fi

 

        $NGINX_BIN -c $CONFIGFILE

 

        if [ “$?” != 0 ] ; then

            echo " failed"

            exit 1

        else

            echo " done"

        fi

        ;;

 

    stop)

        echo -n "Stoping $NAME… "

 

        if ! netstat -tnpl | grep -q nginx; then

            echo "$NAME is not running."

            exit 1

        fi

 

        $NGINX_BIN -s stop

 

        if [ “$?” != 0 ] ; then

            echo " failed. Use force-quit"

            exit 1

        else

            echo " done"

        fi

        ;;

 

    status)

        if netstat -tnpl | grep -q nginx; then

            PID=`pidof nginx`

            echo "$NAME (pid $PID) is running…"

        else

            echo "$NAME is stopped"

            exit 0

        fi

        ;;

 

    force-quit)

        echo -n "Terminating $NAME… "

 

        if ! netstat -tnpl | grep -q nginx; then

            echo "$NAME is not running."

            exit 1

        fi

 

        kill `pidof $NAME`

 

        if [ “$?” != 0 ] ; then

            echo " failed"

            exit 1

        else

            echo " done"

        fi

        ;;

 

    restart)

        $0 stop

        sleep 1

        $0 start

        ;;

 

    reload)

        echo -n "Reload service $NAME… "

 

        if netstat -tnpl | grep -q nginx; then

            $NGINX_BIN -s reload

            echo " done"

        else

            echo "$NAME is not running, can't reload."

            exit 1

        fi

        ;;

 

    configtest)

        echo -n "Test $NAME configure files… "

 

        $NGINX_BIN -t

        ;;

 

    *)

        echo "Usage: $0 {start|stop|force-quit|restart|reload|status|configtest}"

        exit 1

        ;;

 

RHEL7配置NTP服务

1、安装ntp软件

2、编辑配置文件/etc/chrony.conf

3、允许某一网段进行时间同步(编辑/etc/chrony.conf)

4、启动NTP服务

5、测试同步

Linux普通用户绑定80端口

在Linux系统中,默认情况下只有root用户才可以绑定1024以下的端口,而普通用户需要绑定1024以下的端口,基本方法是使用的Nginx代理转发或者操作系统的iptables进行端口转发两种方法进行,本文将以tomcat为例,直接以普通用户运行tomcat,并使tomcat程序绑定80端口或者转发代理至tomcat的8080端口。

要使机器的80端口给客户端方法问,可以参考以下方式进行:

  • iptables端口转发方式
  • Nginx代理模式
  • setcap方式

 1、iptables方式

RHEL 7

#firewall-cmd –permanent –add-forward-port=port=80:proto=tcp:toport=8080

RHEL 7之前版本

#iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 8080

2、安装Nginx,并将80端口转发至8080

listen 80;

location / {
    proxy_pass       http://localhost:8080;
    proxy_set_header Host      $host;
    proxy_set_header X-Real-IP $remote_addr;
}

3、setcap方式

#setcap 'cap_net_bind_service=ep' /usr/local/jdk1.8.0/jre/bin/java

/usr/local/jdk1.8.0/jre/bin/java为tomcat运行的Java环境程序,如果为其他程序,则改为其他程序的绝对路径。

另外:ep为永久生效

通过MAN帮助查询man  7 capabilities

CAP_NET_BIND_SERVICE
Bind  a socket to Internet domain privileged ports (port numbers less than 1024).

 

 

Nginx单IP地址配置多个SSL证书

默认情况下,Nginx一个IP地址仅支持一个SSL证书,需要多个IP地址才能配置多个SSL证书,在公网IP地址有限的情况下,可以使用TLS Server Name Indication extension(SNI, RFC 6066),它允许浏览器在SSL握手的时候发送请求的server name,也就是 Host,这样 Nginx 就能找到对应server 的SSL配置。

配置步骤如下:

1、检查Nginx是否支持TLS

2、如果出现TLS SNI support disable,就得升级openssl版本,并且重新编译nginx。

具体步骤如下:
首先下载openssl(建议下载1.0.1h版本)

下载Nginx

解压openssl

解压nginx,并编译

#检查Nginx版本信息

配置Vhost中的域名证书

然后,重启Nginx即可。