美文网首页
201202:Linux下启动.sh文件的两种方法-IO Err

201202:Linux下启动.sh文件的两种方法-IO Err

作者: 弹钢琴的崽崽 | 来源:发表于2020-12-02 20:30 被阅读0次

    一. Linux下启动.sh文件的两种方法

    一、直接./加上文件名.sh,如运行hello.sh为./hello.sh【hello.sh必须有x权限】

    二、直接sh 加上文件名.sh,如运行hello.sh为sh hello.sh【hello.sh可以没有x权限】

    方法一: 绝对路径执行.sh文件

    1. ./home/test/shell/hello.sh
    2. /home/test/shell/hello.sh
    3. sh /home/test/shell/hello.sh

    方法二: 当前目录执行.sh文件

    1. cd到.sh文件所在目录

    2. 给.sh文件添加x执行权限

      比如以hello.sh文件为例,chmod u+x hello.sh

    3. ./执行.sh文件

    4. sh 执行.sh文件

      以hello.sh文件为例,sh hello.sh即可执行hello.sh文件

    注意事项:用“./”加文件名.sh执行时,必须给.sh文件加x执行权限

    二. IO Error: Connection reset异常

    异常信息:

    ojdbc在linux环境下java.sql.SQLRecoverableException: IO Error: Connection reset

    问题原因:

    连接ORACLE服务器,客户端要生成随机密钥用于客户端认证,linux下JDK默认使用/dev/random,random采用阻塞方式生成随机数,生成的速度很慢,ORACLE服务器会主动reset,并在alert.log中报错:

    TNS-12535: TNS:operation timed out
        ns secondary err code: 12606
        nt main err code: 0
        nt secondary err code: 0
        nt OS err code: 0
      Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.6.21)(PORT=33460))
    WARNING: inbound connection timed out (ORA-3136)
    

    解决方案:

    编辑$JAVA_HOME/jre/lib/security/java.security将securerandom.source=file:/dev/random 改为file:/dev/urandom(urandom采用非阴塞式生成随机数,性能很好,不会产生超时)
    

    IO Error: Connection reset异常参考文章

    三. nginx在Linux下安装与启动

    按照以下命令去执行即可

    1. PCRE

    PCRE(Perl Compatible Regular Expressions)是一个 Perl 库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库。
    执行如下命令安装

    yum install -y pcre pcre-devel
    

    2. zlib

    zlib 库提供了很多种压缩和解压缩的方式,nginx 使用 zlib 对 http 包的内容进行 gzip,所以需要在 linux 上安装 zlib 库。
    执行如下命令安装

    yum install -y zlib zlib-devel
    

    3. OpenSSL

    OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在 ssl 协议上传输 http),所以需要在 linux安装 openssl 库。
    执行如下命令安装

    yum install -y openssl openssl-devel
    

    4. 解压缩

    tar zxvf nginx-1.16.1.tar.gz
    

    5. 进入nginx-1.16.1目录 ,使用 configure 命令创建一 makeFile 文件

    复制下面的语句即可

    ./configure \
    --prefix=/usr/local/nginx \
    --pid-path=/var/run/nginx/nginx.pid \
    --lock-path=/var/lock/nginx.lock \
    --error-log-path=/var/log/nginx/error.log \
    --http-log-path=/var/log/nginx/access.log \
    --with-http_gzip_static_module \
    --http-client-body-temp-path=/var/temp/nginx/client \
    --http-proxy-temp-path=/var/temp/nginx/proxy \
    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
    --http-scgi-temp-path=/var/temp/nginx/scgi
    

    6. 编译,使用make命令,然后会生成很多.c的文件

    7. 安装,使用make install命令

    8. 启动与访问

    a. 将临时文件目录指定为/var/temp/nginx/client

    mkdir /var/temp/nginx/client -p
    

    b. 启动Nginx

    创建好之后,我们就可以cd nginx 命令进入到Nginx目录,可以看到三个文件夹第一个conf,配置文件所放的目录,html是我们静态资源放的目录,当然,这是默认的,我们也可以自己改,sbin目录就是存放了我们的启动文件

    那么我们进入sbin这个文件,可以发现里边只有一个文件

    接着我们就可以使用 ./nginx 命令来启动Nginx了

    然后直打开浏览器访问,输入IP地址,然后因为他的端口号默认是80,所以敲 IP地址就可以了

    (如果访问不了,可能是因为被防火墙拦截了,需要使用

    firewall-cmd --zone=public --add-port=80/tcp --permanent

    把80这个端口放行了,然后然后再使用firewall-cmd --reload来刷新一下重新访问即可)

    如果想要关闭可以使用 ./nginx -s stop 或者 ./nginx -s quit命令

    ./nginx -s stop
    ./nginx -s quit
    

    (./nginx -s stop这个命令就相当于杀进程,./nginx -s quit方式就比较温和,他会保存配置然后再退出,第一个相当于非正常退出,第二个相当于正常退出,)

    然后还有一个比较重要的命令 ./nginx -s reload 重新加载配置文件,即刷新

    ./nginx -s reload
    

    然后还可以使用ps aux|grep nginx 命令来查看进程

    ps aux|grep nginx
    

    相关文章

      网友评论

          本文标题:201202:Linux下启动.sh文件的两种方法-IO Err

          本文链接:https://www.haomeiwen.com/subject/biwuwktx.html