Ubuntu 20.04 安装Nginx-1.25.4

embedded/2024/10/17 19:25:37/

 

操作系统:Ubuntu 20.04.5 LTS

软件版本:nginx-1.25.4

 

一、环境准备

安装GCC编译器

安装PCRE

安装OpenSSL

安装OpenSSL库
安装zlib库

# 安装GCC编译器(build-essential 包会安装GCC编译器以及其他一些用于编译源代码的必须工具)sudo apt update && sudo apt install build-essential# 安装PCREsudo apt update && sudo apt install libpcre3 libpcre3-dev# 安装OpenSSLsudo apt update && sudo apt install openssl# 安装OpenSSL库sudo apt update && sudo apt install libssl-dev# 安装zlib库sudo apt install zlib1g-dev

二、安装Nginx

 

# 下载最新的nginxwget https://nginx.org/download/nginx-1.25.4.tar.gz# 解压tar zxvf nginx-1.25.4.tar.gz# 打开目录cd nginx-1.25.4# 配置./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_sub_module --with-http_ssl_module

 下面是configure运行后正常的结果

root@master:/install/nginx-1.25.4# 
root@master:/install/nginx-1.25.4# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_sub_module --with-http_ssl_module
checking for OS+ Linux 5.4.0-176-generic x86_64
checking for C compiler ... found+ using GNU C compiler+ gcc version: 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) 
checking for gcc -pipe switch ... found
checking for -Wl,-E switch ... found
checking for gcc builtin atomic operations ... found
checking for C99 variadic macros ... found
checking for gcc variadic macros ... found
checking for gcc builtin 64 bit byteswap ... found
checking for unistd.h ... found
checking for inttypes.h ... found
checking for limits.h ... found
checking for sys/filio.h ... not found
checking for sys/param.h ... found
checking for sys/mount.h ... found
checking for sys/statvfs.h ... found
checking for crypt.h ... found
checking for Linux specific features
checking for epoll ... found
checking for EPOLLRDHUP ... found
checking for EPOLLEXCLUSIVE ... found
checking for eventfd() ... found
checking for O_PATH ... found
checking for sendfile() ... found
checking for sendfile64() ... found
checking for sys/prctl.h ... found
checking for prctl(PR_SET_DUMPABLE) ... found
checking for prctl(PR_SET_KEEPCAPS) ... found
checking for capabilities ... found
checking for crypt_r() ... found
checking for sys/vfs.h ... found
checking for BPF sockhash ... found
checking for SO_COOKIE ... found
checking for UDP_SEGMENT ... found
checking for nobody group ... not found
checking for nogroup group ... found
checking for poll() ... found
checking for /dev/poll ... not found
checking for kqueue ... not found
checking for crypt() ... not found
checking for crypt() in libcrypt ... found
checking for F_READAHEAD ... not found
checking for posix_fadvise() ... found
checking for O_DIRECT ... found
checking for F_NOCACHE ... not found
checking for directio() ... not found
checking for statfs() ... found
checking for statvfs() ... found
checking for dlopen() ... not found
checking for dlopen() in libdl ... found
checking for sched_yield() ... found
checking for sched_setaffinity() ... found
checking for SO_SETFIB ... not found
checking for SO_REUSEPORT ... found
checking for SO_ACCEPTFILTER ... not found
checking for SO_BINDANY ... not found
checking for IP_TRANSPARENT ... found
checking for IP_BINDANY ... not found
checking for IP_BIND_ADDRESS_NO_PORT ... found
checking for IP_RECVDSTADDR ... not found
checking for IP_SENDSRCADDR ... not found
checking for IP_PKTINFO ... found
checking for IPV6_RECVPKTINFO ... found
checking for IP_MTU_DISCOVER ... found
checking for IPV6_MTU_DISCOVER ... found
checking for IP_DONTFRAG ... not found
checking for IPV6_DONTFRAG ... found
checking for TCP_DEFER_ACCEPT ... found
checking for TCP_KEEPIDLE ... found
checking for TCP_FASTOPEN ... found
checking for TCP_INFO ... found
checking for accept4() ... found
checking for int size ... 4 bytes
checking for long size ... 8 bytes
checking for long long size ... 8 bytes
checking for void * size ... 8 bytes
checking for uint32_t ... found
checking for uint64_t ... found
checking for sig_atomic_t ... found
checking for sig_atomic_t size ... 4 bytes
checking for socklen_t ... found
checking for in_addr_t ... found
checking for in_port_t ... found
checking for rlim_t ... found
checking for uintptr_t ... uintptr_t found
checking for system byte ordering ... little endian
checking for size_t size ... 8 bytes
checking for off_t size ... 8 bytes
checking for time_t size ... 8 bytes
checking for AF_INET6 ... found
checking for setproctitle() ... not found
checking for pread() ... found
checking for pwrite() ... found
checking for pwritev() ... found
checking for strerrordesc_np() ... not found
checking for sys_nerr ... found
checking for localtime_r() ... found
checking for clock_gettime(CLOCK_MONOTONIC) ... found
checking for posix_memalign() ... found
checking for memalign() ... found
checking for mmap(MAP_ANON|MAP_SHARED) ... found
checking for mmap("/dev/zero", MAP_SHARED) ... found
checking for System V shared memory ... found
checking for POSIX semaphores ... not found
checking for POSIX semaphores in libpthread ... found
checking for struct msghdr.msg_control ... found
checking for ioctl(FIONBIO) ... found
checking for ioctl(FIONREAD) ... found
checking for struct tm.tm_gmtoff ... found
checking for struct dirent.d_namlen ... not found
checking for struct dirent.d_type ... found
checking for sysconf(_SC_NPROCESSORS_ONLN) ... found
checking for sysconf(_SC_LEVEL1_DCACHE_LINESIZE) ... found
checking for openat(), fstatat() ... found
checking for getaddrinfo() ... found
checking for PCRE2 library ... not found
checking for PCRE library ... found
checking for PCRE JIT support ... found
checking for OpenSSL library ... found
checking for zlib library ... found
creating objs/MakefileConfiguration summary+ using system PCRE library+ using system OpenSSL library+ using system zlib librarynginx path prefix: "/usr/local/nginx"nginx binary file: "/usr/local/nginx/sbin/nginx"nginx modules path: "/usr/local/nginx/modules"nginx configuration prefix: "/usr/local/nginx/conf"nginx configuration file: "/usr/local/nginx/conf/nginx.conf"nginx pid file: "/usr/local/nginx/logs/nginx.pid"nginx error log file: "/usr/local/nginx/logs/error.log"nginx http access log file: "/usr/local/nginx/logs/access.log"nginx http client request body temporary files: "client_body_temp"nginx http proxy temporary files: "proxy_temp"nginx http fastcgi temporary files: "fastcgi_temp"nginx http uwsgi temporary files: "uwsgi_temp"nginx http scgi temporary files: "scgi_temp"root@master:/install/nginx-1.25.4# 

编译安装

make & make install

启动nginx(临时)

/usr/local/nginx/sbin/nginx

查看nginx进程

ps -ef|grep nginx

查看nginx版本和已安装的模块

/usr/local/nginx/sbin/nginx -V

创建服务文件
 

vim /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

 添加权限

chmod +x /usr/lib/systemd/system/nginx.service

设置开机自启

systemctl daemon-reload && systemctl enable tomcat.service

启动nginx

systemctl start nginx

查看nginx状态

root@master:/# systemctl status nginxnginx.service - nginxLoaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)Active: active (running) since Mon 2024-04-15 08:04:11 UTC; 1min 31s agoProcess: 25573 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS)Main PID: 25574 (nginx)Tasks: 2 (limit: 9426)Memory: 1.9MCGroup: /system.slice/nginx.service├─25574 nginx: master process /usr/local/nginx/sbin/nginx└─25575 nginx: worker processApr 15 08:04:11 cngscccw-vpa758 systemd[1]: Starting nginx...
Apr 15 08:04:11 cngscccw-vpa758 systemd[1]: Started nginx.
root@master:/#

三、安装命令一条龙

附上所有的命令清单和步骤

# 安装GCC编译器(build-essential 包会安装GCC编译器以及其他一些用于编译源代码的必须工具)sudo apt update && sudo apt install build-essential# 安装PCREsudo apt update && sudo apt install libpcre3 libpcre3-dev# 安装OpenSSLsudo apt update && sudo apt install openssl# 安装OpenSSL库sudo apt update && sudo apt install libssl-dev# 安装zlib库sudo apt install zlib1g-dev# 下载最新的nginxwget https://nginx.org/download/nginx-1.25.4.tar.gz# 解压tar zxvf nginx-1.25.4.tar.gz# 配置./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_sub_module --with-http_ssl_module# 编译和安装make & make install# 启动nginx(临时)/usr/local/nginx/sbin/nginx# 查看nginx进程ps -ef|grep nginx# 查看nginx版本和已安装的模块/usr/local/nginx/sbin/nginx -V# 创建服务文件vim /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# 添加权限chmod +x /usr/lib/systemd/system/nginx.service# 设置开机自启systemctl daemon-reload && systemctl enable tomcat.service# 启动nginxsystemctl start nginx

 


 

 

 

 


http://www.ppmy.cn/embedded/4064.html

相关文章

配置路由器实现互通

1.实验环境 实验用具包括两台路由器(或交换机),一根双绞线缆,一台PC,一条Console 线缆。 2.需求描述 如图6.14 所示,将两台路由器的F0/0 接口相连,通过一台PC 连接设备的 Console 端口并配置P地址(192.1…

安卓手机APP开发__媒体开发部分__直播流

安卓手机APP开发__媒体开发部分__直播流 目录 概述 检查和监控直播的播放 在直播流中的定位查找 直播播放的用户界面 配置直播播放的参数 播放速度调整 定制播放速度的调整算法 直播窗口背后的异常和ERROR_CODE_BEHIND_LIVE_WINDOW 概述 ExoPlayer没有任何特殊配置的…

ansible-playbook角色roles使用实例及遇到的问题排除记录

目录 1、角色roles的概念和作用 2、角色roles的目录层级结构 3、ansible-play使用角色roles部署服务实例 3.1 实例-使用ansible-playbook部署安装htttpd服务,且配置文件修改后会被触发启动。 3.2 遇到的问题记录 1、角色roles的概念和作用 角色roles是ansible自…

04 MySQL --DQL 专题--Union、exists

1. UNION、UNION ALL UNION 关键字的作用? 合并两个或多个 SELECT 语句的结果。发挥的作用与 or 非常相似 UNION关键字生效的前提? 每个 SELECT 语句必须拥有相同数量的列。每个 SELECT 语句中的列的顺序必须相同。列必须拥有相似的数据类型。 SELEC…

Java接口

1 接口的概念 笔记本上的USB口,电源插座等都是接口 接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用 在Java中,接口可以看成是:多个类的公共规范,是一种引用数据类型 …

最小生成树算法的实现c++

最小生成树算法的实现c 题目链接:1584. 连接所有点的最小费用 - 力扣(LeetCode) 主要思路:使用krusal算法,将边的权值进行排序(从小到大排序),每次将权值最小且未加入到连通分量中…

【Python基础】线程

文章目录 [toc]线程与进程的区别与联系同步任务示例 并行任务示例线程调度的“随机性” 线程方法thread_object.start()thread_object.join()thread_object.setDaemon()没有设置守护线程的情况设置守护线程的情况 thread_object.current_thread() 目前爬虫的三种实现单线程爬虫…

如何通过drissionpage以及js逆向过字符/滑块/点选/九宫格验证码文章/视频学习案例

目录 零、各种关于drissionpage文章视频案例解决方案合集一、过字符类验证码反爬实战(自动化和逆向两种解法)二、过滑块类验证码反爬实战(自动化和逆向两种解法)三、过点选类验证码反爬实战(自动化和逆向两种解法)四、过九宫格验证码反爬实战(自动化和逆向两种解法)仅供…