安装
正式开始前,编译环境gcc g++ 开发库之类的需要提前装好
安装make:
yum -y install gcc automake autoconf libtool make
安装g++:
yum install gcc gcc-c++
安装pcreyum -y install pcre*
openssl依赖yum -y install openssl*
-
下载 - 路径失效可在官网下载 传送链
wget http://nginx.org/download/nginx-1.20.1.tar.gz
-
解压、安装
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 //软链接
- 检查是否正确
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
-
启动
nginx
-
常用命令
Nginx 是支持热启动的, Nginx 从新读取配置的命令是nginx -s reload
-
停止
pkill -9 nginx
-
重启Nginx服务
nginx -s reload
-
版本信息
nginx -V
-
配置
- 进入配置文件
cd /usr/local/nginx/conf
vim nginx.conf
- 配置反向代理/静态资源服务器/正向代理
反向代理
反向代理应该是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