centos平台安装nginx及配置

安装

正式开始前,编译环境gcc g++ 开发库之类的需要提前装好

安装make:

yum -y install gcc automake autoconf libtool make

安装g++:

yum install gcc gcc-c++

安装pcre
yum -y install pcre*

openssl依赖
yum -y install openssl*


  1. 下载 - 路径失效可在官网下载 传送链
    wget http://nginx.org/download/nginx-1.20.1.tar.gz

  2. 解压、安装

	tar -zxvf nginx-1.20.1.tar.gz
	cd nginx-1.20.1
	// 配置
	./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
	make -j4 				// 编译
	make install 			// 安装
	ln -s /usr/local/nginx/sbin/nginx  /usr/local/bin			//软链接
  1. 检查是否正确
	nginx -t

	输出成功
	nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
	nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
  1. 启动
    nginx

  2. 常用命令
    Nginx 是支持热启动的, Nginx 从新读取配置的命令是
    nginx -s reload

    • 停止
      pkill -9 nginx

    • 重启Nginx服务
      nginx -s reload

    • 版本信息
      nginx -V

centos平台安装nginx及配置_https

配置

  1. 进入配置文件
cd /usr/local/nginx/conf
vim nginx.conf
  1. 配置反向代理/静态资源服务器/正向代理

反向代理

反向代理应该是Nginx做的最多的一件事了。反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同而已。

下面贴上一段简单的实现反向代理的代码

	server {  
		listen       80;
		server_name  localhost;

		location / {
			proxy_pass http://localhost:300;
			proxy_set_header Host $host:$server_port;
		}
	}

支持https

将申请好的证书下载后,放在Nginx的安装目录/usr/local/nginx/conf/cert下(创建cert目录),并且将“server.key”和“server.crt”拷贝到nginx的“cert”目录下。

	# HTTPS server
	#
	server {
	   listen       443 ssl;
	   server_name  localhost;

	   ssl_certificate      cert/server.crt;
	   ssl_certificate_key  cert/server.key;

	   ssl_session_cache    shared:SSL:1m;
	   ssl_session_timeout  5m;

	   ssl_ciphers  HIGH:!aNULL:!MD5;
	   ssl_prefer_server_ciphers  on;

	   location / {
			proxy_pass http://localhost:3000;
			proxy_set_header Host $host:$server_port;
	   }
	}

配置完成重启nginx nginx -s reload

http实现自动跳转https的设置方法

在配置80端口的文件里面,写入以下内容即可。

	server {
		listen       80;
		server_name  localhost;
		rewrite ^(.*)$ https://$host$1 permanent;    
	}

配置完成重启nginx nginx -s reload