今天记录一下,在涉密环境下安装 Nginx1.27.3。在安装Nginx之前,还需要安装OpenSSL才行,为了省事,我这里就准备安装openssl 1.1.1这个版本,对于Nginx以及OpenSSL下载地址如下:
# Nginx 下载地址 https://nginx.org/en/download.html # OpenSSL下载地址 https://www.openssl.org/source/openssl-1.1.1.tar.gz
接下来对OpenSSL进行源码编译。
# 解压缩 tar -zxvf openssl-1.1.1.tar.gz # 切入目录 cd openssl-1.1.1/ # 配置并指定安装后的目录为usr/local/openssl ./config --prefix=/usr/local/openssl # 编译 make # 编译安装 make install
对于OpenSSL源码编译完成后,就可以对Nginx进行前期的设置功能,先创建一个nginx的用户及用户组,这个用户只用于Nginx网站的管理,不作为系统登录。
useradd nginx -s /sbin/nologin -M
接下来对Nginx的源码进行编译,在进行配置时,要注意,Nginx需要使用OpenSSL,所以在编译时要指定http_stub_status_module与with-http_ssl_module模块,要让这两个模块生效,就需要指定OpenSSL的源代码位置,并在编译时同时编译引入所需的内容。
# 解压Nginx tar -zxvf nginx-1.27.3.tar.gz # 切目录 cd nginx-1.27.3/ # 配置,需要指定用户及组、指定安装目录,并指定了OpenSSL的源码位置 ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl=/home/tools/openssl-1.1.1 # 编译 make # 编译安装 make install
由于编译安装的Nginx,没有办法直接通过服务来启动,所以需要我们自己建立服务,即建立配置文件,让其可以通过服务形式启动和管理。接下来创建服务所需要文件
# 编辑Nginx服务文件 vi /usr/lib/systemd/system/nginx.service
并在文件中加入如下内容:
[Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload= /usr/local/nginx/sbin/nginx -s reload ExecStop= /usr/local/nginx/sbin/nginx -s stop PrivateTmp=true [Install] WantedBy=multi-user.target
创建好nginx.service文件后,需要重新加载systemd的配置后,即可启动服务。
# 重新加载systemd的配置 systemctl daemon-reload # 启动Nginx服务 systemctl start nginx # 设置Nginx开机自启动 systemctl enable nginx
最后,允许80端口通过防火墙,即可以通过IP地址或域名访问ngin的测试页面了。
# 允许80端口通过 firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。