一、安装nginx
- 去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本,这里直接在服务器上下载最新的稳定版1.22.0,也可以自己在网站上下载后上传到Linux系统中
- 安装gcc环境
- 安装PCRE库,用于解析正则表达式
- zlib压缩和解压依赖
- SSL安全的加密的套接字协议层,用于http安全传输,也就是https
- 解压
- 编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错
mkdir /var/temp/nginx -p
- 在nginx目录下输入如下命令进行配置,目的是为创建makefile文件
./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/usr/local/nginx/log/error.log --http-log-path=/usr/local/nginx/log/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi
- make编译&安装
make make install
- 进入sbin目录启动nginx
启动:./nginx 停止:./nginx -s stop 重新加载:./nginx -s reload
- 如果访问失败浏览器403,请给nginx目录配置权限:chmod -R 755 /usr/local/nginx
- 启动成功浏览器访问nginx
二、配置ssl证书体统https访问
- 安装ssl模块
- 要在nginx中配置https,就必须安装ssl模块,也就是https_ssl_module
- 安装yum -y install openssl openssl-devel
- 进入nginx的解压目录:cd /usr/local/src/nginx-1.22.0/
- 新增ssl模块(原来的那些模块需要保留)
./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/usr/local/nginx/log/error.log --http-log-path=/usr/local/nginx/log/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi --with-http_ssl_module
- 编译和安装
make make install
- 配置https
- 把ssl证书 *.crt 和 *.key拷贝到 /usr/local/nginx/conf目录中
- 国内申请免费的域名需要备案,如果不备案域名是无法使用的,ssl证书一般是和域名对应的,不备案ssl是无法使用
- 新增server监听443端口
server { listen 443 ssl; server_name www.域名; ssl_certificate 域名_bundle.crt; ssl_certificate_key 域名.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } }
- 配置完成后重启nginx服务./nginx -s reload