Skip to content

centos7 安装nginx 并配置https

安装相关依赖

yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel

下载nginx

nginx 官方
一般选择Stable version版本
目前最新1.18.0

wget -c https://nginx.org/download/nginx-1.18.0.tar.gz

解压文件

tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0

配置相关参数

./configure --with-http_ssl_module 

相关参数说明见文件末。

编译安装

make && make install
whereis nginx # 获取nginx 地址

配置nginx 参数

默认nginx配置文件路径/usr/local/nginx/conf/nginx.conf

添加https部分

在配置文件中添加

   server {
       listen   443 ssl;
       server_name  xxxx.com;
       ssl_certificate      cert.pem;
       ssl_certificate_key  cert.key;
       ssl_session_cache    shared:SSL:1m;
       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   /xxx/web/;
           index  index.html index.htm;
       }
    }

启动、停止nginx

cd /usr/local/nginx/sbin/
./nginx 
./nginx -s stop
./nginx -s quit
./nginx -s reload

配置开机自启动

配置 nginx.service文件

vi /usr/lib/systemd/system/nginx.service
内容如下:
[Unit]
Description=nginx service
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload 
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# 授权
chmod 755 nginx.service
## 重新装载系统服务
systemctl daemon-reload

启动服务

systemctl start nginx.service

注意事项

  1. 相关依赖必须安装
  2. 证书文件路径请仔细检查
  3. 过程中如果出错请检查相关输出日志
  4. 如果启动无错误,请检查防火墙是否正确开启

Nginx 参数说明:

目录参数

--prefix=PATH nginx安装后部署的根目录 /usr/local/nginx

--sbin-path=PATH 可执行文件放置路径 /sbin/nginx

--conf-path=PATH 配置文件放置路径 /conf/nginx.conf

--error-log-path=PATH error日志文件放置路径 /logs/error.log

--pid-path=PATH pid文件存放路径 /logs/nginx.pid

--lock-path=PATH lock文件放置路径 /logs/nginx.lock

--builddir=DIR 编译产生文件放置目录(Mackfile,目标,执行文件) /objs

--with-perl_modules_path=PATH per lmodule放置路径 无

--with-perl=PATH perl binary放置目录 无

--http-log-path=PATH access日志放置位置 /logs/access.log

--http-client-body-temp-path=PATH 临时文件 /client_body_temp

--http-proxy-temp-path=PATH 反向代临时文件夹 /proxy_temp

--http-fastcgi-temp-path=PATH fastcgi所使用临时目录 /fastcgi_temp

--http-uwsgi-temp-path=PATH UWSGI临时目录 /uwsgi_temp

--http-scgi-temp-path=PATH SCGI临时放置目录 scgi_temp

编译相关参数:

--with-cc=PATH C编译的路径

--with-cpp=PATH C预编译的路径

--with-cc-opt=OPTIONS 编译加入一些参数

--with-ld-opt=OPTIONS 生成目录文件

--with-cpu-opt=CPU 指定cpu处理架构

依赖相关参数:

--without-pcre nginx.conf支持正则表达式使用

--with-pcre 强制使用PCRE库

--with-pcre=DIR 指定PCRE库源码位置

--with-pcre-opt=OPTIONS 编译PCRE源码希望加入编译选项

库设置参数:

--with-openssl=DIR 指定openSSL源码位置 支持https必须配置这个

--with-openssl-opt=OPTIONS 编译SSL源码是希望加入编译选项

ATOMIC原子库设置参数:

--with-libatomic 强制使用atomic库

actom库是CPU架构独立的一种院子操作实现

--width-libatom=DIR atomic所在位置

散列函数库设置参数:

--with-MD5=DIR 指定MD5源码位置(nginx内部有MD5实现)

--with-MD5-opt=OPTIONS 编译MD5源码时加入参数

--with-MD5-asm 使用MD5的汇编源码

--with-SHA1=DIR 指定SHA1库源码位置

--with-SHA1-opt=OPTIONS 编译SHA`加入参数

--with-SHA1-asm 使用sha1的汇编源码

zlib库参数设置:

--with-zlib=DIR 指定ZLIb源码位置,使用gzip需要用到

--with-slib-opt=OPTION 编译zlib加入参数

--with-zlib-asm=CPU 指定zlib源码编译优化功能

模块相关参数:

事件模块:

--with-rtsig_module 使用rtsigmodule处理事件驱动

--with-select_module 使用select module 处理时间驱动

--without-select_module不安装select module

--with-poll_module 使用poll module处理时间处理驱动

--without-poll_module 不安装 poll modull模块驱动

--with-aio_module 使用AIO方式处理时间驱动

默认即编译计入NGinx的HTTP模块 (去除默认模块)

--without-http_charset_module 这个可以将HTTP响应重编码

--without-http_gzip_module content-type执行Gzip压缩

--without-http_ssi_module 响应包体中加入特定的内容,如html文件头文件尾

--without-http_userid_module 这个模块可以通过HTTP请求头补信息一些字段认证用户信息,已确定请求是否合法

--without-http_access_module 根据IP地址限制能够访问服务器客户端

--without-http_auth_basic_moudle 提供简单的用户名、密码认证

--without-http_autoindex_module 该模块提供建的目录浏览功能

--without-http_geo_module 定义一些遍历和客户端的ip地址做关联

--without-http_map_module 建立一个key/value映射表,可以对url做特殊处理

--without-http_split_clients_module 更具客户端信息区分处理

--without-http_refere_module 根据请求中的referer字段来拒绝请求

--without-http_refere_module 该模块提供HTTP请求在NGINX服务内部重定向功能,依赖PCRE库

--without-http_proxy_module http反向代理功能

--without-http_fastcgi_module FastCGI功能

--without-http_uwsgi_module uwSGI功能

--without-http_scgi_moudle 提供SCGI 功能

--without-http_memcached_module 直接有上游服务读取数据

--without-http_limit_zone_module 针对某个IP地址限制并发数

--without-http_limit_req_module 对某个地址限制请求数

--without-http_empty_git_module 接受无请求是返回 1*1像素gif图片

--without-http_browser_module 识别浏览器

--without-http_upstream_ip_hash_module 实现负载均衡用到

默认不会编译进入Nginx的HTTP模块

--with-http_ssl_module 支持SSL协议提供HTTPS服务

--with-http_realip_module 可以从客户端请求里度header信息

--with-http_addition_module 返回客户端HTTP包体头部或者尾部增加内容

--with-http_xslt_module 使XML格式数据发给客户前家XSL渲染(libxml2 libxslt)

--with-http_image_filter_module 图片压缩支持指定大小 (libgd)

--with-http_geoip_module 该某块可以更具MaxMindGEoIP的IP地址数据库得到实际地址位置

--with-http_sub_module 替换字符串

--with-http_dav_module Nginx支持Webdav标准

Webdav 协议中的 PUT DELETE COPY MOVE MKCOL

--with-http_flv_module 可以观看,拖动flash视屏

--with-http_mp4_module 拖动MP4视屏

--with-http_gzip_static_module 静态资源压缩

--with-http_random_index_module 访问目录随机返回任意文件

--with-http_secure_link_module 验证请求是否有效机制

--with-http_degradation_module 特殊系统调用 返回202 444

--with-http_stub_status_module 该模块统计页面获取相关的并发数

--with-google_perftool_module 给提供Google性能测试工具

邮件代理服务相关mail模块:

--with-mail 邮件服务反向代理模块 反向代理IMAP POP3 SMTP

--with-main_ssl_module 基于SSL/TSL协议执行上使用

--without-mail-pop3_module 不安装支持POP3协议

--without-main_imap_module

--without-mail_smtp_module

--with_debug 打印debug调用级别日志代码编译进nginx

--add-module-PATH 当NGinx加入第三块模块

--without-http 静止http服务器

--without-http-cache 禁用HTTP服务器里缓存cache特性

--with-file-aio 启用文件异步I/O处理磁盘文件

--with-ipv6 使用NGinx支持IPV6

--user=USER 这个Nginxworker进程运行时所属用户

--group=GROUP 指定Nginx worker进程运行时 所属的组
发表评论

电子邮件地址不会被公开。 必填项已用*标注