当前位置: 首页 > news >正文

编译方式安装nginx

编译安装

rz上传包给它解压, -C指定一个安装目录,创建目录18,23

[root@bogon ~]# mkdir /nginx18
[root@bogon ~]# mkdir /nginx23

[root@bogon ~]# tar xvzf nginx-1.18.0.tar.gz -C /nginx18/

 解压过去之后,[root@bogon ~]# cd /nginx18/

 [root@bogon nginx18]# cd nginx-1.18.0/

 在configure之前先去装依赖包

安装编译环境

[root@bogon nginx-1.18.0]# yum -y install gcc gcc-c++ pcre pcre-devel gd-devel openssl-devel  zlib zlib-devel

 创建用户nginx

[root@bogon nginx-1.18.0]# useradd nginx

下载安装Nginx

[root@bogon nginx-1.18.0]# ./configure --prefix=/usr/local/nginx --group=nginx --user=nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/tmp/nginx/client_body --http-proxy-temp-path=/tmp/nginx/proxy --http-fastcgi-temp-path=/tmp/nginx/fastcgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre --with-http_realip_module --with-stream

[root@bogon nginx-1.18.0]# make && make install 

 修改配置文件

vim /etc/nginx/nginx.conf

这里面所有的空行,以#号开头的行都没有用。#号开头都是注释,不生效。

 把配置文件分一下类,http前面的,http{},在http里面的server。三大部分。

分好之后,在配东西的时侯就比较容易,比如想添加一个网站,加一个server就好了,想修改全局的配置,修改http外边的东西。想修改http本身的东西,修改http里面。

nginx.conf的组成 nginx.conf一共由三部分组成,分别为:全局块、events块、http块。 在http块中又包含http全局块、多个server块。 每个server块中又包含server全局块以及多个location块。

server_name域名,也是主机名称。改成 www.server.com,端口是80。

  location 是发布网站的目录,root指的是根,不是root账户,它所谓的根是我发布网站的目录是哪个目录。默认的html是/usr/local/nginx/,安装目录 html。index是指默认主页是什么。

看有没有配置网站的发布目录。

cd安装目录

 发布网站的目录,在这个里面有一个默认的index.html,这是它的欢迎主页。

 

 启动nginx,

cd到安装目录   cd sbin/

这就是它的启动命令,

检测Nginx配置文件语法

[root@bogon sbin]# mkdir -p /tmp/nginx   创建临时测试数据目录

[root@bogon sbin]# /usr/local/nginx/sbin/nginx -t

[root@bogon sbin]# /usr/local/nginx/sbin/nginx  启动服务

  没有反应基本上ok了。

 它有两个进程,一个主进程,一个工作进程,主进程是nginx本身的进程,工作进程也叫worker进程,专门用来接受客户端连接。

服务起来了看看能不能用,

测试方式

用curl访问一下本地。如果能访问到这个主页证明nginx没有任何问题。

[root@bogon sbin]# curl 127.1

 从windows访问,在浏览器写ip地址,如果有解析可以写解析,可以写域名

 如果要访问www.server.com访问的不是我的网站,是公网上的网站。

在linux中拿浏览器用域名访问自己的网站,在linux做解析

vim /etc/hosts  主机解析

先拿这个访问,解析了

curl能访问

 在windows访问,也得有解析,现在没有自己的dns服务器,用公网的肯定解析不到

在windows解析,c盘C:\Windows\System32\drivers\etc。使用记事本打开,有可能保存不了,先把它复制到桌面,改了再挪回到C盘。


【注意】启动之前可以先观察一下系统里面80端口有没有被占用。

 [root@bogon sbin]# lsof -i:80

[root@bogon sbin]# ss -auntpl | grep 80

如果有把它干掉 kill -9

lsof 查看一个端口是否开启, netstat和ss可以查看本机的tcp连接,ss可以查看本机所有开放的端口

相关文章:

  • 【第48篇】MaxViT:多轴视觉转换器
  • shell 基础
  • 《uni-app》uni-app实现疯狂点赞效果(一)
  • service 自我升级遇到的问题
  • 安全测试场景下怎样突破内网防御机制
  • Fisco开发第一个区块链应用
  • OpenStack之云计算技术与架构-2
  • Jetson连接百兆交换机丢包笔记
  • 线索化二叉树的那些事儿
  • [机缘参悟-83]:如何自我前提应对可能的经-济-危-机?
  • 一些常用的画图网站,以及一些经常听说但不太常用的图形模版
  • 【图灵MySQL】深入理解Mysql索引底层数据结构与算法
  • Python数据分析实战之:特征重要性分析
  • 40.讲初识动态规划:如何巧妙解决“双十一”购物时的凑单问题
  • 信息学奥赛中的STL(标准模板库)--2022.09.30
  • [译]Python中的类属性与实例属性的区别
  • 2017年终总结、随想
  • gops —— Go 程序诊断分析工具
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • JS专题之继承
  • leetcode386. Lexicographical Numbers
  • Linux Process Manage
  • Linux链接文件
  • nodejs:开发并发布一个nodejs包
  • Protobuf3语言指南
  • Vue 动态创建 component
  • vue-cli3搭建项目
  • 大快搜索数据爬虫技术实例安装教学篇
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 设计模式(12)迭代器模式(讲解+应用)
  • 微信小程序:实现悬浮返回和分享按钮
  • 学习Vue.js的五个小例子
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​queue --- 一个同步的队列类​
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #LLM入门|Prompt#3.3_存储_Memory
  • #QT(一种朴素的计算器实现方法)
  • (1)(1.11) SiK Radio v2(一)
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (一)SpringBoot3---尚硅谷总结
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .net中调用windows performance记录性能信息
  • /dev/sda2 is mounted; will not make a filesystem here!
  • @GetMapping和@RequestMapping的区别
  • @ModelAttribute注解使用
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • [Angular] 笔记 7:模块