Nginx的安装部署

一、nginx安装

依赖gcc : yum -y install gcc gcc-c++ kernel-devel

pcre-8.44.tar.gz、zlib-1.2.7.tar.gz,nginx依赖于这两个组件,首先安装他俩,

1、为方便直接把pcre-8.44.tar.gz上传到/usr/local/src/

cd /usr/local/src/

安装步骤如下:

1.1、切换到root用户【su - root】;

1.2、解压pcre-8.44.tar.gz【tar -zxvf pcre-8.44.tar.gz】;

1.3、进入到解压后的目录pcre-8.44【cd pcre-8.44】,执行编译命令【./configure --prefix=/usr/local】;

1.4、执行安装命令【make && make install】;

为方便直接把zlib-1.2.7.tar.gz上传到/usr/local/

cd /usr/local

1.5、解压zlib-1.2.7.tar.gz【tar -zxvf zlib-1.2.7.tar.gz】;

1.6、进入到解压后的目录pcre-8.44【cd zlib-1.2.7】,执行编译命令【./configure --prefix=/usr/local】;

1.7、执行安装命令【make && make install】;


以上命令执行完成,准备工作就可以了!!!,接下来安装nginx

2、安装nginx

安装步骤如下:

2.1、解压nginx-1.18.0.tar.gz【tar -zxvf nginx-1.18.0.tar.gz】;

2.2、进入到解压后的目录nginx-1.18.0【cd nginx-1.18.0】,执行编译命令【./configure --prefix=/usr/local/nginx】;

2.3、执行安装命令【make && make install】;


这个时候nginx就算安装成功了,测试nginx是否安装成功如下:

3.1、进入nginx启动目录【cd /usr/local/nginx/sbin】;

3.2、启动nginx【./nginx】;

3.3、通过浏览器访问【http://ip/】,如果页面上出现nginx欢迎的字样就说明成功了。

二、停止,重启nginx命令

cd /usr/local/nginx/sbin

停止 nginx 命令: ./nginx -s stop

重启nginx命令:./nginx -s reload

检测nginx配置是否正确:./nginx -t

  1. 简单配置http

Nginx.conf

参考配置如下

#user nobody;

worker_processes 1;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

#gzip on;

server {

client_max_body_size 1024m;

listen 80;

#server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

resolver_timeout 30s;

proxy_pass http://192.168.80.180:8001;

#root html;

#index index.html index.htm;

}

access_log /usr/local/nginx/logs/httplogs/proxy-$host.log;

}

error_page 500 502 503 504 /50x.html;

}

三、安装 ssl 模块 ,缺openssl

一般情况下都是不存在ssl模块的,接下来进入到你的解压缩后的nginx目录,注意这里不是nginx安装目录,是解压缩后的目录,进入目录后,输入

cd /usr/local/nginx-1.18.0 这里是解压缩的目录

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

报错

./configure: error: SSL modules require the OpenSSL library.

You can either do not enable the modules, or install the OpenSSL library

into the system, or build the OpenSSL library statically from the source

with nginx by using --with-openssl=<path> option.

安装 openssl

1、Y um安装openssl

yum -y install openssl openssl-devel

2、CENTOS7,离线源码安装openssl

openssl官网下载
当前的稳定版是 openssl-fips-2.0.16.tar.gz,下载后上传到服务器的/usr/local/src目录下。
解压压缩包

tar -xzf openssl-fips-2.0.16.tar.gz

然后进入openssl-fips-2.0.16目录,进行安装

./config shared zlib --prefix=/usr/local/openssl
make
make install

装完openssl,继续安装ssl

cd /usr/local/nginx-1.18.0

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

然后执行:

make

#切记不要执行make install,否则会重新安装nginx

查看版本,发现TLS已经安装成功

上述在解压目录make后,会在解压目录/usr/local/nginx-1.18.0下生成objs

将安装目录下的nginx文件备份

cd /usr/local/nginx/sbin

cp nginx nginx.http.bak.20220518

cp /usr/local/nginx-1.18.0/objs/nginx /usr/local/nginx/sbin

cd /usr/local/nginx/sbin

./nginx --V 注意大写V,小写的只有简单版本号

nginx version: nginx/1.18.0

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)

built with OpenSSL 1.0.2k-fips 26 Jan 2017

TLS SNI support enabled

configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

四、测试环境,在nginx创建开发版本证书

https://blog.csdn.net/PRIMEFJT/article/details/79123011

cd /usr/local/nginx/conf

root@localhost conf# openssl genrsa -des3 -out server.key 1024

Generating RSA private key, 1024 bit long modulus

..................................++++++

.............................++++++

e is 65537 (0x10001)

Enter pass phrase for server.key: 1qaz2wsx

Verifying - Enter pass phrase for server.key: 1qaz2wsx

root@localhost conf# openssl req -new -key server.key -out server.csr

Enter pass phrase for server.key: 1qaz2wsx

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.


Country Name (2 letter code) XX:CN

State or Province Name (full name) \[\]:Beijing

Locality Name (eg, city) Default City:Beijing

Organization Name (eg, company) Default Company Ltd:zhonghe

Organizational Unit Name (eg, section) \[\]:IT Dept

Common Name (eg, your name or your server's hostname) \[\]:kjlink.com

Email Address \[\]:直接回车

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password \[\]:直接回车

An optional company name \[\]:直接回车

在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:

$ cp server.key server.key.org

openssl rsa -in server.key.org -out server.key

Enter pass phrase for server.key.org:1qaz2wsx

writing RSA key

$ openssl rsa -in server.key.org -out server.key

最后标记证书使用上述私钥和CSR:

$ openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

Signature ok

subject=/C=CN/ST=Beijing/L=Beijing/O=zhonghe/OU=IT Dept/CN=kjlink.com

Getting Private key

相关推荐
記億揺晃着的那天32 分钟前
NAS 内网域名访问为什么需要浏览器授权
网络·nginx·js·nas
chunmiao30321 小时前
DeepSeek V4-Pro 正式版上线,API 8月17日起分时调价
网络·安全
隔窗听雨眠2 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle
鲸采云SRM采购管理系统3 小时前
采购管理系统哪家好?2026最新测评对比
java·服务器·数据库
迪康Defender3 小时前
AI 重构终端安全运营:智能分析中枢 AI Insight 模块架构与落地场景深度解析
运维·网络·人工智能·其他·安全·重构·架构
那年窗外下的雪.3 小时前
AIDC 学习日志 第 04 天 BGP Underlay 基础与路由选择
服务器·学习·php
0x534 小时前
Java网络编程(二)
java·服务器·网络
小绫网络安全5 小时前
Kali Linux渗透测试入门教程:从零搭建到实战攻防
linux·运维·服务器
西安景驰电子5 小时前
《PTP精确时间协议系列》第一篇:从原理到应用,全面解读IEEE 1588
linux·运维·服务器·开发语言·网络·windows·php
luj_17686 小时前
塔防牌:策略与卡牌的智慧碰撞
服务器·c语言·开发语言·经验分享·算法