Ubuntu16.04 源码安装nginx

news2024/9/27 14:55:32

nginx源码包:http://nginx.org/download/


目录

  • 1.可联网设备直接通过apt-get安装
  • 2.不可联网设备通过安装包编译和移植
    • 2.1 首先选择一台可联网的设备
    • 2.2 将编译好的文件夹拷贝到目标设备上
  • 问题:nginx启动 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

1.可联网设备直接通过apt-get安装

  • 直接通过apt-get安装
# 切换至root用户
sudo su root
apt-get install nginx
  • 查看nginx是否安装成功
nginx -v
nginx version: nginx/1.10.3 (Ubuntu)
  • 启动nginx
service nginx start
  • 启动后,在网页重输入ip地址,即可看到nginx的欢迎页面。至此nginx安装成功
    在这里插入图片描述

nginx文件安装完成之后的文件位置:
/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志

2.不可联网设备通过安装包编译和移植

2.1 首先选择一台可联网的设备

  • 下载安装包,编译源码
cd /usr/local

wget -c https://nginx.org/download/nginx-1.20.2.tar.gz

tar -zxvf nginx-1.20.2.tar.gz

cd nginx-1.20.2

# 指定安装路径
./configure --prefix=/usr/local/nginx

make

make install
  • 测试nginx是否安装成功
# 查询nginx的安装路径
whereis nginx   
nginx: /usr/local/nginx

cd /usr/local/nginx/sbin

# 运行nginx
./nginx    

# 测试是否安装成功
curl http://localhost
curl 本地IP

# 关闭nginx
# ./nginx -s stop
  • 设置nginx自启动
vi 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
  • nginx.service 拷贝到 /lib/systemd/system 目录下
    在这里插入图片描述
  • 配置nginx开机自启动
# 使能打开nginx服务
systemctl enable nginx.service

# 查看nginx状态
systemctl status nginx.service

2.2 将编译好的文件夹拷贝到目标设备上

  • 压缩编译好了的nginx文件夹,拷贝nginx.zipnginx.service文件到目标设备指定目录里,并解压nginx.zip
sudo zip -r nginx.zip nginx
unzip -d /usr/local/ nginx.zip
rsync -a nginx.service /lib/systemd/system/
  • 设置nginx自启动
systemctl enable nginx.service
  • 重启设备后即可查看nginx已启动
# 测试是否安装成功
curl http://localhost
curl 本地IP

问题:nginx启动 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

# 切换到nginx sbin目录
# 停止
sudo ./nginx -s stop
 
# 启动
./nginx

参考:
视频教程
https://blog.csdn.net/qq_23832313/article/details/83578836
https://blog.csdn.net/qq_17054659/article/details/77186249

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/381905.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习100天(三十四):034 先验概率、条件概率

《机器学习100天》完整目录:目录 机器学习100天,今天讲的是:先验概率、条件概率。 一、先验概率、条件概率 机器学习中,我们经常听到两个数学概念:先验概率、后验概率。抛开复杂数学公式不谈,我们通过一个实际的例子来帮助大家理解这两种概率。 最近天气炎热,红色石头…

问题三十四:傅立叶变换——高通滤波

高通滤波器是一种可以通过去除图像低频信息来增强高频信息的滤波器。在图像处理中,高通滤波器常常用于去除模糊或平滑效果,以及增强边缘或细节。在本篇回答中,我们将使用Python和OpenCV实现高通滤波器。 Step 1:加载图像并进行傅…

JVM系统优化实践(6):年轻代、老年代与数据计算

您好,我是湘王,这是我的CSDN博客,欢迎您来,欢迎您再来~上回说道如果当前Survivor区中年龄相同的一批对象总大小 ≥ Survivor总数 50%,那么这批对象及比它们年龄更大的对象,就都直接进入老年代。…

三八女神节有哪些数码好物?2023年三八女神节数码好物清单

2023年的三八女神节就快到了,大家还在烦恼,不知道有哪些数码好物?在此,我来给大家分享几款三八女神节实用性强的数码好物,一起来看看吧。 一、蓝牙耳机:南卡小音舱 参考价:239 推荐理由&…

flutter window安装过程

这里写自定义目录标题#下载相关官网地址:https://flutter.cn/docs/get-started/install/windows 根据官网下载相关包flutter_windows_3.7.5-stable.zip 解压到c盘,在path配置相关解压路径(c:\flutter)。 执行 where flutter dart ,发现没有提…

Pytorch深度学习实战3-5:详解计算图与自动微分机(附实例)

目录1 计算图原理2 基于计算图的传播3 神经网络计算图4 自动微分机5 Pytorch中的自动微分5.1 梯度缓存5.2 参数冻结1 计算图原理 计算图(Computational Graph)是机器学习领域中推导神经网络和其他模型算法,以及软件编程实现的有效工具。 计算图的核心是将模型表示…

Vue3 企业级项目实战:项目须知与课程约定

本节内容很重要,希望大家能够耐心看完。 Vue3 企业级项目实战 - 程序员十三 - 掘金小册Vue3 Element Plus Spring Boot 企业级项目开发,升职加薪,快人一步。。「Vue3 企业级项目实战」由程序员十三撰写,2744人购买https://s.ju…

解决方案| anyRTC 融合其他厂商视频会议系统方案

背景 视频会议市场经历疫情后,不管是硬件视频会议还是云视频会议已经在各行各业铺开使用,特别是政府行业,职能部门除了几大硬件视频会议外,也开始逐渐尝试云视频会议,视频会议的场景运用除了日常的交流、沟通、学习外…

开启互联网赚钱模式

随着互联网的发展,现在几乎会玩手机和电脑的都离不开网络,自然出现了很多网络赚钱的项目,受到了很多新人创业者和做副业兼职者的欢迎。很多朋友都想利用电脑或手机在网上赚钱。其实不管做什么项目,都有一个过程,没有什…

【监控】Linux部署postgres_exporter及PG配置(非Docker)

目录一、下载及部署二、postgres_exporter配置1. 停止脚本stop.sh2. 启动脚本start.sh3. queries.yaml三、PostgreSQL数据库配置1. 修改postgresql.conf配置文件2. 创建用户、表、扩展等四、参考一、下载及部署 下载地址 选一个amd64下载 上传至服务器,解压 tax…

$ 6 :选择、循环

if-else语句 #include <stdio.h> //判断输入值是否大于0 int main() {int i;while (scanf("%d",&i)){if (i > 0)//不要在括号后加分号{printf("i is bigger than O\n");}else {printf("i is not bigger than O\n");}}return O; } …

cglib代理解析

工作原理 使用 <dependency><groupId>cglib</groupId><artifactId>cglib</artifactId><version>3.3.0</version></dependency>对类和接口分别进行代理 DemoService package com.fanqiechaodan.user.service;/*** author fa…

itop-3568 开发板系统编程学习笔记(3)目录 IO

【北京迅为】嵌入式学习之Linux系统编程篇 https://www.bilibili.com/video/BV1zV411e7Cy/ 个人学习笔记 文章目录mkdir() 函数opendir() 和 closedir() 函数readdir() 函数综合实验mkdir() 函数 头文件&#xff1a; #include <sys/types.h> #include <sys/stat.h&g…

linux代码调试-gdb

在windows调试各类代码经常依托相关便利的IDE工具&#xff0c;如Microsoft的Visual Studio,TI的Code Composer Studio,ADI的CrossCore Embedded Studio ,ADI的VisualDSP&#xff0c;Renesas的CS for CC,NXP的S32 Design Studio…这些调试&#xff0c;或借助软、硬件仿真&#x…

JPA 之 Hibernate EntityManager 使用指南

Hibernate EntityManager 专题 参考&#xff1a; JPA – EntityManager常用API详解EntityManager基本概念 基本概念及获得 EntityManager 对象 基本概念 在使用持久化工具的时候&#xff0c;一般都有一个对象来操作数据库&#xff0c;在原生的Hibernate中叫做Session&…

排序之损失函数List-wise loss(系列3)

排序系列篇&#xff1a; 排序之指标集锦(系列1)原创 排序之损失函数pair-wise loss(系列2)排序之损失函数List-wise loss(系列3) 最早的关于list-wise的文章发表在Learning to Rank: From Pairwise Approach to Listwise Approach中&#xff0c;后面陆陆续续出了各种变形&#…

SpringBoot入门 - SpringBoot HelloWorld

我们了解了SpringBoot和SpringFramework的关系之后&#xff0c;我们可以开始创建一个Hello World级别的项目了。创建 SpringBoot Web 应用为快速进行开发&#xff0c;推荐你使用IDEA这类开发工具&#xff0c;它将大大提升你学习和开发的效率。选择 Spring InitializeSpring提供…

开源的 OA 办公系统 — 勾股 OA 4.3.01 发布

勾股 OA 办公系统是一款简单实用的开源的企业办公系统。系统集成了系统设置、人事管理、行政管理、消息管理、企业公告、知识库、审批流程设置、办公审批、日常办公、财务管理、客户管理、合同管理、项目管理、任务管理等功能模块。系统简约&#xff0c;易于功能扩展&#xff0…

【vue】图标选择(elementUI和svg结合)

目标&#xff1a;在做菜单权限的时候需要选择图标&#xff0c;如果既想要用elementUI自带的图标&#xff0c;还想要自定义的图标&#xff0c;这时就需要二者结合一下如果用的是vue-admin-template&#xff0c;那svg组件和引入elementUI是不需要操作的&#xff0c;直接使用即可。…

pytest学习和使用17-Pytest如何重复执行用例?(pytest-repeat)

17-Pytest如何重复执行用例&#xff1f;&#xff08;pytest-repeat&#xff09;1 使用场景2 pytest-repeat插件2.1 环境要求2.2 插件安装3 pytest-repeat使用3.1 重复测试直到失败3.2 用例标记执行重复多次3.3 命令行参数--repeat-scope详解3.3.1 class示例3.3.2 module示例1 使…