前言
Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。它也是一种轻量级的Web服务器,可以作为独立的服务器部署网站(类似Tomcat)。它高性能和低消耗内存的结构受到很多大公司青睐。本文将介绍如果在 CentOS 部署 Nginx
参考资料
一、下载 Nginx
版本可以根据实际情况进行更换选择,我当时选择的是最新的稳定版本 1.22.0
1、先进入需要安装的目录
cd /usr/local/
2、下载 Nginx 解压包
wget https://nginx.org/download/nginx-1.22.0.tar.gz
二、解压安装 Nginx
1、解压安装包
因为之前已经到了需要安装的目录,所以直接在当前目录解压即可
tar -xvf nginx-1.22.0.tar.gz
2、安装 Nginx
2.1、进入到解压出来得 Nginx 目录
cd nginx-1.22.0/
2.2、配置
如果不需要 https 可以直接执行
./configures
如果需要 https 则需要执行
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
2.3、安装 Nginx
先执行 make
make
再执行 make install
make install
这个时候已经安装好了,但是如果想全局使用 nginx 还需要配置 nginx 环境变量
2.4、配置环境变量
2.4.1、打开 etc 下的 profile 文件
vim /etc/profile
2.4.2、在文件末尾添加上环境变量
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin
2.4.3、保存文件
source /etc/profile
2.5、配置 https(不需要可以跳过)
2.5.1 打开 nginx 中的 nginx.conf 配置文件
注意不要更改错了文件,nginx-1.22.0 是原始包,改了是不生效的,需要改 /usr/local/nginx/conf/nginx.conf 这个路径的配置文件
vim /usr/local/nginx/conf/nginx.conf
1、先在 80 端口下新增 https 跳转
server {
listen 80;
server_name localhost;
rewrite ^ https://$http_host$request_uri? permanent; # 新增这一行就可以了,其他的不需要改
...
}
2、打开最底部的 443 ssl 的监听注释
server {
listen 443 ssl;
server_name localhost;
ssl_certificate cert.pem; # 这里填自己的 ssl pem 文件 url
ssl_certificate_key cert.key; # 这里填自己的 ssl key 文件 url
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
3、保存配置并退出,按下 ESC 后输入 :wq
三、Nginx 常用命令
3.1、运行
nginx
3.2、停止
nginx -s stop
3.3、重启
nginx -s reload
四、拓展
4.1、配置 proxy
注:如果配置了 https,需要在 443 ssl server 中配置 proxy,如果在 http 中配置的话自动跳转到 https 就代理不到了
location /xxx/ {
proxy_pass https://www.xxx.com:8080;
}
配置完后重启 nginx ,就可以通过 xxx 访问到 https://www.xxx.com:8080 了