一.前期准备
-
下载nginx-1.18.0版本,然后上传到服务器 /usr/local/src 目录下
-
安装编译工具及库文件
//一键安装四个依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
-
安装 PCRE PCRE 作用是让 Nginx 支持 Rewrite 功能
-
进入到安装目录
cd /usr/local
-
下载pcre-8.35
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
-
解压安装包
tar zxvf pcre-8.35.tar.gz
-
进入安装包目录
cd pcre-8.35
-
编译安装
./configure make && make install
-
查看pcre版本
pcre-config --version
-
查看pcre版本
rpm -qa pcre
-
二.nginx安装
-
进入到nginx文件目录
cd /usr/local/src/
-
解压安装包
tar -zxvf nginx-1.18.0.tar.gz
-
进入安装包目录
cd nginx-1.18.0
-
编译安装
将nginx编译安装到/usr/local/nginx下 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.35 make make install
-
查看nginx版本
/usr/local/nginx/sbin/nginx -v
-
常见命令
启动 /usr/local/nginx/sbin/nginx 关闭 /usr/local/nginx/sbin/nginx -s stop 重启 /usr/local/nginx/sbin/nginx -s reload
三.SSL配置
-
如果我们使用SSL证书需要引用到nginx的中SSL这个模块 上述nginx安装的时候加了./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.35 其中 --with-http_ssl_module就是添加ssl模块 如果没有加ssl模块可以添加这个模块就好了
-
要有SSL对应的 公钥和自私 放到指定文件夹下 /usr/ssl
service.crt # 公钥 service.key # 私钥
-
修改nginx配置文件
//修改443端口文件 http{ #http节点中可以添加多个server节点 server{ #监听443端口 listen 443; #对应的域名,把domain.com改成你们自己的域名就可以了 server_name domain.com; ssl on; #公钥路径 ssl_certificate /usr/ssl/service.crt; #私钥路径 ssl_certificate_key /usr/ssl/service.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { root /usr/local/service/ROOT; index index.html; } } server{ listen 80; server_name domain.com; rewrite ^/(.*)$ https://domain.com:443/$1 permanent; } }
-
重启nginx
四.报错
configure: error: You need a C++ compiler for C++ support
安装c++ compiler
yum install -y gcc gcc-c++
-bash: wget: command not found 错误
yum -y install wget
启动报错 nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
make: *** No targets specified and no makefile found. Stop. 解决方法
yum install gcc gcc-c++ autoconf automake
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel (安装依赖zlib、openssl和pcre)
然后:
./configure
make && make install