Linux离线编译安装nginx

Linux离线安装nginx

1.切换到root用户

bash 复制代码
#切换到root用户
su -
#退出root用户
exit

2.目录操作

bash 复制代码
#切到根目录
cd /
#查看目录
ls
#切目录
cd  /home/...
#到对应的目录下解压

3.安装Nginx

在有网络的设备上下载以下文件:

bash 复制代码
#---------------安装pcre库-------------------#
#安装pcre库  
#cd到压缩文件的目录,解压pcre-8.45.tar.gz
tar -zxvf pcre-8.45.tar.gz 
#cd到pcre-8.45目录,执行./configure 编译
./configure
# make编译
make
# make install安装,默认情况下,会安装到/usr/local目录下
make install

#---------------安装zlib库-------------------#

#cd到压缩文件的目录,解压zlib.tar.gz
tar -zxvf zlib.tar.gz 
# cd zlib目录,执行./configure 编译
./configure 
# make编译
make
# make install安装,默认情况下,会安装到/usr/local目录下
make install

#---------------安装openssl库-------------------#
#安装openssl库,openssl版本和nginx是配套的,要安装nginx对应的版本
#cd到压缩文件的目录,解压openssl-3.5.0.tar.gz
tar -zxvf openssl-3.5.0.tar.gz
 #cd openssl-3.5.0目录 执行./config 编译
./config
 # make编译
make
# make install安装,默认情况下,会安装到/usr/local目录下
make install

#---------------安装nginx-------------------#
#nginx,之前的三个库必须先装
#cd到压缩文件的目录,解压nginx-1.28.0.tar.gz
tar -zxvf nginx-1.28.0.tar.gz 
# nginx-1.28目录,执行./configure 编译或者./configure --prefix=/usr/local/nginx
./configure 
# make编译
make
# make install安装,默认情况下,会安装到/usr/local目录下
make install

4.启动验证

bash 复制代码
#启动命令:/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx
#重启:
/usr/local/nginx/sbin/nginx --s reload
#停止:
/usr/local/nginx/sbin/nginx --s stop
#测试配置文件是否正常:
 /usr/local/nginx/sbin/nginx --t
#强制关闭:
pkill nginx
查看Nginx进程

你可以使用pspgrep命令来查看Nginx进程是否正在运行。

bash 复制代码
ps -ef | grep nginx

解释输出

  • 如果Nginx正在运行,你会看到类似以下的输出:

    复制代码
    root      1234     1  0 12:00 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
    www-data  1235  1234  0 12:00 ?        00:00:00 nginx: worker process
    • root 表示Nginx主进程以root用户运行。
    • www-data 表示Nginx工作进程以www-data用户运行。
  • 如果Nginx未运行,你只会看到grep命令本身:

    复制代码
    user      1236  1233  0 12:05 pts/0    00:00:00 grep --color=auto nginx
查Nginx服务状态

运行以下命令:

bash 复制代码
sudo systemctl status nginx

解释输出

  • 如果Nginx正在运行,你会看到类似以下的输出:

    bash 复制代码
    ● nginx.service - A high performance web server and a reverse proxy server
       Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
       Active: active (running) since Fri 2025-06-20 12:00:00 CST; 1min ago
     Main PID: 1234 (nginx)
        Tasks: 2 (limit: 4915)
       Memory: 2.5M
       CGroup: /system.slice/nginx.service
               ├─1234 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
               └─1235 nginx: worker process
    • Active: active (running) 表示Nginx正在运行。
    • Main PID 显示了Nginx主进程的进程ID。
  • 如果Nginx未运行,你会看到类似以下的输出:

    bash 复制代码

● nginx.service - A high performance web server and a reverse proxy server

Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)

Active: inactive (dead)

复制代码
#### **检查端口监听情况**

Nginx通常监听80端口(HTTP)和/或443端口(HTTPS)。你可以使用`netstat`或`ss`命令来检查这些端口是否被Nginx占用。

使用netstat命令

```bash
sudo netstat -tulnp | grep nginx

解释输出

  • 如果Nginx正在运行,你会看到类似以下的输出

    复制代码
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1234/nginx
    tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      1234/nginx
    • LISTEN 表示Nginx正在监听这些端口。
    • 1234 是Nginx主进程的PID。
  • 如果Nginx未运行,该命令不会输出任何内容。

5.修改配置文件

  • 从源码编译安装 :默认情况下,配置文件位于/usr/local/nginx/conf/nginx.conf
nginx 复制代码
server {
    listen 8080;  # 修改为8080端口
    server_name example.com;

    location / {
        root /var/www/html;#修改地址
        index index.html index.htm;
    }
}
  • 配置反向代理:如果你想将请求转发到后端服务器,可以使用proxy_pass指令:
nginx 复制代码
server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://backend-server:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
  • 使用nano编辑器修改nginx.conf

nano是一个简单易用的文本编辑器,适合初学者。

  1. 打开nginx.conf文件:

    bash 复制代码
    sudo nano /usr/local/nginx/conf/nginx.conf
  2. 修改配置文件:

    • 使用方向键导航到需要修改的地方。
    • 直接编辑内容。
  3. 保存并退出:

    • 按下Ctrl + X,然后按下Y确认保存,最后按下Enter键退出。
相关推荐
笨笨聊运维16 小时前
CentOS官方不维护版本,配置python升级方法,无损版
linux·python·centos
ζั͡山 ั͡有扶苏 ั͡✾16 小时前
EFK 日志系统搭建完整教程
运维·jenkins·kibana·es·filebeat
jun_bai16 小时前
python写的文件备份网盘程序
运维·服务器·网络
HIT_Weston17 小时前
39、【Ubuntu】【远程开发】拉出内网 Web 服务:构建静态网页(二)
linux·前端·ubuntu
欢喜躲在眉梢里17 小时前
CANN 异构计算架构实操指南:从环境部署到 AI 任务加速全流程
运维·服务器·人工智能·ai·架构·计算
weixin_5377658017 小时前
【容器技术】虚拟化原理与Docker详解
运维·docker·容器
胡斌附体17 小时前
docker健康检查使用
运维·docker·依赖·健康检查
云飞云共享云桌面18 小时前
无需配置传统电脑——智能装备工厂10个SolidWorks共享一台工作站
运维·服务器·前端·网络·算法·电脑
福尔摩斯张18 小时前
《C 语言指针从入门到精通:全面笔记 + 实战习题深度解析》(超详细)
linux·运维·服务器·c语言·开发语言·c++·算法
TH_118 小时前
腾讯云-(3)-Linux宝塔面板使用
linux·云计算·腾讯云