201202:Linux下启动.sh文件的两种方法-IO Error: Connection reset异常-nginx在Linux下安装与启动

一. 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 Error: Connection reset异常-nginx在Linux下安装与启动)