首页 > 系统相关 >Linux系统之Nginx的编译安装

Linux系统之Nginx的编译安装

时间:2023-06-09 16:07:23浏览次数:36  
标签:conf 编译 root server001 Nginx usr nginx Linux local

(Linux系统之Nginx的编译安装)

一、检查系统版本

[root@server001 ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"



二、编译环境配置

1.安装编译依赖包


yum -y groupinstall Development tools
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel wget

2.创建nginx用户


useradd nginx -s /sbin/nologin -M


三、下载nginx源码包

wget http://nginx.org/download/nginx-1.9.9.tar.gz

image.png

四、编译安装nginx

1.解压源码包


[root@server001 nginx]# tar -xzf nginx-1.9.9.tar.gz 
[root@server001 nginx]# ls
index.html  nginx-1.9.9  nginx-1.9.9.tar.gz
[root@server001 nginx]# 

2.进入软件目录

[root@server001 nginx]# cd nginx-1.9.9/
[root@server001 nginx-1.9.9]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
[root@server001 nginx-1.9.9]# 


3.开始编译安装nginx


./configure --prefix=/usr/local/nginx --user=nginx --group=nginx  --with-http_ssl_module  --with-http_stub_status_module
make 
make install
[root@server001 nginx-1.9.9]# make install
make -f objs/Makefile install
make[1]: Entering directory `/data/nginx/nginx-1.9.9'
test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx'
test -d '/usr/local/nginx/sbin' 		|| mkdir -p '/usr/local/nginx/sbin'
test ! -f '/usr/local/nginx/sbin/nginx' 		|| mv '/usr/local/nginx/sbin/nginx' 			'/usr/local/nginx/sbin/nginx.old'
cp objs/nginx '/usr/local/nginx/sbin/nginx'
test -d '/usr/local/nginx/conf' 		|| mkdir -p '/usr/local/nginx/conf'
cp conf/koi-win '/usr/local/nginx/conf'
cp conf/koi-utf '/usr/local/nginx/conf'
cp conf/win-utf '/usr/local/nginx/conf'
test -f '/usr/local/nginx/conf/mime.types' 		|| cp conf/mime.types '/usr/local/nginx/conf'
cp conf/mime.types '/usr/local/nginx/conf/mime.types.default'
test -f '/usr/local/nginx/conf/fastcgi_params' 		|| cp conf/fastcgi_params '/usr/local/nginx/conf'
cp conf/fastcgi_params 		'/usr/local/nginx/conf/fastcgi_params.default'
test -f '/usr/local/nginx/conf/fastcgi.conf' 		|| cp conf/fastcgi.conf '/usr/local/nginx/conf'
cp conf/fastcgi.conf '/usr/local/nginx/conf/fastcgi.conf.default'
test -f '/usr/local/nginx/conf/uwsgi_params' 		|| cp conf/uwsgi_params '/usr/local/nginx/conf'
cp conf/uwsgi_params 		'/usr/local/nginx/conf/uwsgi_params.default'
test -f '/usr/local/nginx/conf/scgi_params' 		|| cp conf/scgi_params '/usr/local/nginx/conf'
cp conf/scgi_params 		'/usr/local/nginx/conf/scgi_params.default'
test -f '/usr/local/nginx/conf/nginx.conf' 		|| cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf'
cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default'
test -d '/usr/local/nginx/logs' 		|| mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/logs' || 		mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/html' 		|| cp -R html '/usr/local/nginx'
test -d '/usr/local/nginx/logs' || 		mkdir -p '/usr/local/nginx/logs'
make[1]: Leaving directory `/data/nginx/nginx-1.9.9'
[root@server001 nginx-1.9.9]# 


4.检查nginx配置文件


[root@server001 local]# /usr/local/nginx/sbin/nginx -t 
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful


5.复制nginx文件

 cp -a /usr/local/nginx/sbin/nginx  /usr/bin/

6.查看nginx命令帮助

[root@server001 local]# nginx -h
nginx version: nginx/1.9.9
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -T            : test configuration, dump it and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /usr/local/nginx/)
  -c filename   : set configuration file (default: conf/nginx.conf)
  -g directives : set global directives out of configuration file



7.查看nginx版本

[root@server001 local]# nginx -v
nginx version: nginx/1.9.9



五、启动nginx服务

1.启动nginx

[root@server001 local]# nginx
[root@server001 local]# 



2.检查80端口

[root@server001 local]# netstat -tunlp |grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      78975/nginx: master 

3.测试服务


[root@server001 nginx]# ls
index.html  nginx-1.9.9  nginx-1.9.9.tar.gz
[root@server001 nginx]# cat index.html 
nginx aa-bb
[root@server001 nginx]# cp index.html /usr/local/nginx/html/
cp: overwrite ‘/usr/local/nginx/html/index.html’? yes
[root@server001 nginx]# curl 192.168.3.166
nginx aa-bb


六、将nginx配置service管理

1.编辑nginx.service

[root@server001 nginx]# cat /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
 
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target
[root@server001 nginx]# 



2.重启服务

[root@server001 nginx]# systemctl daemon-reload
[root@server001 nginx]# systemctl start nginx




3.查看nginx状态

[root@server001 nginx]# systemctl status nginx
● nginx.service - nginx
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2022-11-18 16:49:02 CST; 6s ago
  Process: 79558 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS)
 Main PID: 79559 (nginx)
    Tasks: 2
   Memory: 1.4M
   CGroup: /system.slice/nginx.service
           ├─79559 nginx: master process /usr/local/nginx/sbin/nginx
           └─79560 nginx: worker process

Nov 18 16:49:02 server001 systemd[1]: Starting nginx...
Nov 18 16:49:02 server001 systemd[1]: Started nginx.


标签:conf,编译,root,server001,Nginx,usr,nginx,Linux,local
From: https://blog.51cto.com/u_14664141/6448259

相关文章

  • Linux中cp命令如何使用?其参数有哪些?
    cp是Linux中常用命令之一,该命令主要用于复制文件或目录,那么Linux命令cp如何使用?本文为大家详细介绍一下cp命令,附带使用案例,希望对你有用哦!Linuxcp命令主要用于复制文件或目录。语法:cp[options]sourcedest或cp[options]source...directory参数说明:-a......
  • Linux (CentOS) 安装Apache图文详解
    目录查看是否已安装apache,以及版本号如何卸载旧版本apache安装Apache(yum安装)查看Apache工作状态以及如何启动它Apache各文件目录的作用https://blog.csdn.net/qq_20388417/article/details/105176612......
  • Linux服务器上替换jar包文件内容
    一、替换依赖rocketmq-namesrv-5.1.1.jar包1.查看jar包的目录结构与文件jartfrocketmq-dashboard.jar|greprocketmq-namesrv-4.9.3.jar2.解压jar包jar-xvfrocketmq-dashboard.jar3.替换依赖的jar包下载依赖包:wgethttps://repo1.maven.org/maven2/org/apache/rocketmq/rocket......
  • yum源使用报错-RockyLInux8.7-Modular dependency problem:
    报错信息如下:Kubernetes11kB/s|173kB00:15Modulardependencyproblem:Problem:conflic......
  • UE5 源码编译开发注意事项
    工程清理编译 针对UE5源码版,项目级别的清理步骤:(1)删除项目根目录中:Binaries、Build、DerivedDataCache和Intermediate文件夹,以及sln文件。(2)通过.uproject重新生成VisualStudio项目文件,此步骤会重新生成sln文件和Intermediate文件夹。(3)打开sln项目解决方案,将自建项......
  • Linux驱动基础(HC-SR04超声波模块)
    (文章目录)前言本篇文章将讲解HC-SR04超声波模块的驱动程序编写,有了上篇SR501模块驱动程序编写的基础后这篇文章大家将会学的非常轻松。一、HC-SR04超声波模块介绍HC-SR04超声波模块是一种常用于距离测量和障碍物检测的模块。它通过发射超声波信号并接收回波来计算所测量物体......
  • Linux磁盘分区扩容
    linux分区常用命令:fdisk,修改MBR分区表,MBR格式,被修改的分区大小最大为2T1.查看磁盘vdc起始柱面fdisk-lvdc1分区start--开始--2048vdc1分区end--结束--1048575999记录好start的起始值2.查看到磁盘vdc已从500G扩容到2T,下面需要对vdc1分区进行扩容3.首先先卸载掉磁盘umonut......
  • keil提取编译日期和时间
     constcharSoftware_Ver[]  ="Software:1.0.0";constcharCompiler_Date[] ="Date:"__DATE__;constcharCompiler_Time[] ="Time:"__TIME__;  #defineYEAR((((__DATE__[7]-'0')*10+(__DATE__[8]-......
  • Linux内核之 printk 打印
    前言printk在内核源码中用来记录日志信息的函数,只能在内核源码范围内使用,用法类似于printf函数。printk函数主要做两件事情:1.将信息记录到log中;2.调用控制台驱动来将信息输出。一、printk介绍printk将内核信息输出到内核信息缓冲区中,内核缓冲区在kernel/printk/p......
  • Linux下Qt创建共享库与链接共享库详解
    随着程序写的逐渐变多,或多或少的我们都会使用别人写好的库;或者我们不想让别人看到我们的一些核心程序,可以将核心程序封装成库。本次和大家分享的是在Ubuntu下使用Qt生成共享库以及在Qt中链接共享库的方法。 共享库是在Linux下的称呼,在Windows下被称为动态库。这块大家需要了解的是......