Linux下安装nginx详细步骤

1、安装四个依赖

慎重安装 openssl ,可能会导致连不上ssh。操作前最好使用top命令另外挂一个窗口。

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

2、下载并解压安装包

yum -y install wget
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -zxvf nginx-1.13.7.tar.gz

3、配置安装路径、编译、安装

源码的安装一般由有这三个步骤:配置(configure)、编译(make)、安装(make install)
–prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin

cd nginx-1.13.7

#配置安装路径,--with-http_ssl_module表示添加https的ssl模块
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream


#编译
make

#安装
make install

4、修改配置文件

vi /usr/local/nginx/conf/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
	server_tokens off;  #隐藏版本,防止信息泄露
	autoindex off;      #防止目录遍历

    sendfile        on;
    keepalive_timeout  65;
	
	
	upstream myserver{
		server 192.168.1.201:8081;
		server 192.168.1.202:8081;
		server 192.168.1.203:8081;
	}

    server {
        listen       8080; #监听端口
        server_name  localhost;

        location / {
			proxy_pass http://myserver;
        }

		if ($request_method !~* GET|POST) { #禁用不安全的http方法,按需添加业务中所用方法
			return 503;
		}

    }

}

配置https需要准备两个证书,证书生成方式:https://blog.csdn.net/u014644574/article/details/126190061 
/usr/local/nginx/cert/server.crt 格式如下:

-----BEGIN CERTIFICATE-----
MIIDNDCCAhwCCQDQHlYQwzCR1zANBgkqhkiG9w0BAQsFADBcMQswCQYDVQQGEwJD
...
rZ5mI+4PNC4=
-----END CERTIFICATE-----

/usr/local/nginx/cert/server.key 格式如下:

-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAmzo2IVkKlJQr12Z1GFVOaYelN3HVufiMu0RC4wKveigCOXuo
...
WLTC8ntDqyT08b+wY3D0m1frhRJhEpeoF+kotzbPWmgPyhNYvxwPQA==
-----END RSA PRIVATE KEY-----

vi /usr/local/nginx/conf/nginx.conf

以下配置的作用(我们作为服务端),项目原来是http,现在不动原来代码的情况,让请求者(客户端)认为已经改成https了。
相当于nginx搭建了一个https服务器,外部访问的是nginx的https,内部转发到原来的http应用。相当于 https转http。

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
 
    server {
        listen       443 ssl;
        server_name  localhost;

        ssl_certificate     /usr/local/nginx/cert/server.crt;
        ssl_certificate_key  /usr/local/nginx/cert/server.key;

        location / {
            proxy_pass http://192.168.1.201:8080;
        }
    }

}

以下配置的作用(我们作为客户端),我们要请求的目标应用是一个https,由于某台服务器A的jdk版本问题导致ssl握手失败,需要使用另外一台服务器B安装nginx转发一下请求
自己内部之间,服务器A的请求使用http请求到服务器B,服务器B转发请求目标应用使用https请求。

    server {
        listen       80;
        server_name  localhost;


        location / {
            #proxy_pass https://192.168.111.202:443;
            proxy_pass https://www.baidu.com/;
            root   html;
            index  index.html index.htm;
        }
    }

5、启动、重启、关闭 nginx

cd /usr/local/nginx/sbin/

#启动
./nginx

#重启
./nginx -s reload

#关闭
./nginx -s quit


#查看进程
ps -ef|grep nginx

6、ngin脚本语法

Nginx location 语法匹配详解,渗透漏洞WEB-INF文件泄露修复_小百菜的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值