写点什么

05_Linux 基础 -NGINX 编译安装 ^ 判断是否启动 ^ 修改端口 ^ 启动停止重启 ^ 相关路径 ^ 中文乱码 -Windows、Linux 文件传输

作者:mycpen
  • 2022 年 9 月 02 日
    江苏
  • 本文字数:7222 字

    阅读完需:约 24 分钟

@[TOC](文章目录)

# 05_Linux 基础-NGINX 编译安装^判断是否启动^修改端口^启动停止重启^相关路径^中文乱码-Windows、Linux 文件传输

---

## 一. 回顾

```bash

// service sshd restart 刷新 sshd 服务

信息会写到/var/log/messages 里,tail -f /var/log/messages 动态监控

/var/log/messages 记录日志

// root 用户有权限,可以更改普通用户密码,密码 123 也能成功

一个安全的密码有:大小写、数字、特殊符号、足够的长度 Sanchuang123#

// 1.显示 ps aux 查看进程命令输出信息,从第 2 行到 9 行,并且显示行号。

ps aux|cat -n|head -9|tail -8

ps aux|cat -n|sed -n ‘2,9p’

2.使用 find 命令查找出/find 目录下大小大于 1M 并且名字里包含 vmlinuz 的文件

find /find -size +1M -iname “*vmlinuz*”

find /find -size +1M -iname “*vmlinuz*” -exec ls -hl {} \;

(注 1:ls -hl 命令)

查找出 daydayup 的文件然后删除它

find / -name “daydayup” -exec rm -rf {} \;

(注 2:字符串用””引号引起来)

3.将最近 3 小时内/lianxi 目录下文件大小大于 10K 的文件 移动到/back 目录下

find /lianxi -mmin -180 -size +10k -type f -exec mv {} /back \;

4.查找/home 目录下用户是 root,文件类型是 f,这 2 个条件必须满足,然后再满足大小大于 2k 或者文件名包含 cali 的文件中的一个条件,查找出来后,复制到/lianxi 目录下。

find /home -user root -type f \( -size +2k -o -name "*cali*" \) -exec cp {} /lianxi \;

```

---

## 二. NGINX

```

// nginx 是一个 web 服务器软件,是使用 c 语言开发的软件,俄罗斯人开发

http://nginx.org/

nginx 是开源免费的软件(增值的插件收费)

国内知名互联网公司都在使用 nginx:

淘宝,腾讯,百度,京东,小米,美团,字节跳动,金山云,37 互娱等

http://nginx.org/en/download.html

```

![image-20220316092524896](https://img-blog.csdnimg.cn/img_convert/135cb32e58244b292c6ddc3b5f40624f.png)

```

前端 —— web 服务器 —— 后端数据库

Html,css,js nginx,python mysql,redis

```

### 编译安装

```bash

// 一键安装脚本

[root@sanchuang-linux nginx]# cat onekey_install_nginx.sh

#!/bin/bash

#↑声明脚本用 bash 去执行

#1.下载 nginx 软件包

mkdir -p /nginx2

cd /nginx2

curl -O http://nginx.org/download/nginx-1.19.2.tar.gz

#2.解压,进入文件夹

tar xf nginx-1.19.2.tar.gz

cd nginx-1.19.2

#3.编译前的配置

#新建用户 sanchuang9

useradd sanchuang9

#安装 gcc 和 pcre-devel 软件包,因为 nginx 需要这些软件,解决软件的依赖关系

yum install gcc make pcre-devel zlib-devel -y

#配置 nginx,指定安装路径和启动 nginx 的用户名

./configure --prefix=/usr/local/nginx2 --user=sanchuang9

#4.编译

make

#5.编译安装

make install

#6.关闭防火墙服务和设置开机不要启动

service firewalld stop

systemctl disable firewalld

#7.修改 PATH 变量,方便可以直接使用 nginx

echo "PATH=$PATH:/usr/local/nginx2/sbin" >>/root/.bashrc

```

### 具体步骤

```bash

具体步骤

// nginx 的安装部署

#1.下载 nginx 软件包

mkdir -p /nginx

cd /nginx(注 2:进入指定路径)

curl -O http://nginx.org/download/nginx-1.19.2.tar.gz(注 1:curl 是 linux 下面的字符界面浏览器)

curl 是字符界面的一个浏览器 (注 3:-O 就是下载到当前)

#2.解压,进入文件夹(注 3:#1 完成后,nginx 软件包下载完成,是一个红色的压缩包.tar.gz)

tar xf nginx-1.19.2.tar.gz(注 1:解压后得到一个文件夹,深蓝色。.tar.gz 是 linux 的压缩格式)

cd nginx-1.19.2(注 2:进入这个得到的目录下)

```

```bash

详细操作

//cd nginx-1.19.2

```

![image-20220316092724052](https://img-blog.csdnimg.cn/img_convert/3955e295e40e2b1eff2253f1bad974b5.png)

```bash

configure 配置

# ./configure --help(注 1:告诉我们可以配置什么东西)

```

![image-20220316092758056](https://img-blog.csdnimg.cn/img_convert/526d4cfac3115cff79c294d216e8e676.png)

![image-20220316092811368](https://img-blog.csdnimg.cn/img_convert/338912146807f86fb6f9d1c43168550b.png)

> ==--prefix=PATH 指定安装路径==

>

> --sbin-path=PATH 指定二进制程序路径

>

> --error-log-path=PATH 指定错误日志路径

>

> --pid-path=PATH 指定 pid 路径

>

> ==--user=USER 指定启动 nginx 的用户==

>

> ==--group=GROUP 指定启动 nginx 的组==

![image-20220316092838065](https://img-blog.csdnimg.cn/img_convert/21322fc2965f5e5cb851b7287ae71a7b.png)

> --with 开启某样功能

>

> --without 禁用某样功能

> 详细操作

>

> 新建用户 sanchuang(自动建一个同名的组)

>

> ![image-20220316093032655](https://img-blog.csdnimg.cn/img_convert/1ea7cbe9ed28397b309a995dd55ddd8d.png)

>

> \# ./configure --prefix=/usr/local/nginx --user=sanchuang

>

> (注 1:配置 nginx,指定安装路径和启动 nginx 的用户名)(下一步)

> 详细操作

>

> 解决依赖关系

>

> ![image-20220316093112870](https://img-blog.csdnimg.cn/img_convert/58862b9d47059413a9dd285f5c42a8dc.png)

>

> ```bash

> //没有 PCRE 这个库

> yum install gcc pcre-devel -y (devel 开发包)

> //装好后,继续配置

> # ./configure --prefix=/usr/local/nginx --user=sanchuang

> ```

>

> ![image-20220316093145472](https://img-blog.csdnimg.cn/img_convert/830640c560b5fdf33312f0e7b4148922.png)

>

> ```bash

> //没有 zlib 这个库

> yum install zlib-devel -y

> (注 1:开发库一般会提供很多的接口、很多的包、函数给我们)

> //装好后继续

> # ./configure --prefix=/usr/local/nginx --user=sanchuang

> ```

>

> ![image-20220316093213881](https://img-blog.csdnimg.cn/img_convert/b52a589249be52b1ef7ac4496fde65e8.png)

>

> 生成 makefile 文件(配置单)后面根据这个文件编译

>

> 指定路径↓↓

>

> ![image-20220316093233539](https://img-blog.csdnimg.cn/img_convert/bd8ce441486dba01b4069ebfcf9c896e.png)

>

> 编译前的配置完成,如下

>

>

> ```bash

> # 3.编译前的配置

> # 新建用户 sanchuang

> useradd sanchuang

> # 安装 gcc 和 pcre-devel 软件包,因为 nginx 需要这些软件,解决软件的依赖关系

> yum install gcc make pcre-devel zlib-devel -y

> # 配置 nginx,指定安装路径和启动 nginx 的用户名

> ./configure --prefix=/usr/local/nginx --user=sanchuang

> ```

> ```bash

> # 4.编译(注 1:源码 编译成 二进制代码)

> make

> yum install make -y

> # 5.编译安装(注 2:本质上是 cp,编译好的二进制程序是放在当前目录下)

> make install(注 2:make install 就是把当前下面的东西拷贝到/usr/local/niginx/下指定路径下去)

> ```

>

> ![image-20220316093449432](https://img-blog.csdnimg.cn/img_convert/b3f097fe9d84df9e2aa8cb874756c439.png)

>

>

>

> ```bash

> // 进入/usr/local/nginx/目录(安装完成后)

> # cd /usr/local/nginx/

> # ls

> conf html logs sbin

>

> conf 是存放 nginx 的配置文件

> html 是存放网页的目录

> logs 是存放日志文件的目录

> sbin 是存放可执行程序,也就是 nginx 的启动程序

> ```

>

> ```bash

> // 运行 nginx 程序

> # cd sbin/

> # ls

> nginx

> # ./nginx 运行 nginx 程序

> ```

>

> ![image-20220316093531137](https://img-blog.csdnimg.cn/img_convert/7ffcb526f59909379f9bf7bac8577abc.png)

>

> //接下来判断 nginx 是否启动

### 判断服务是否启动

> ```bash

> 判断一个服务是否启动的方法:

> // 1.看是否有相关的进程

> # ps aux|grep nginx

> ```

>

> ![image-20220316093633235](https://img-blog.csdnimg.cn/img_convert/a3842dae6ca1623ed6bb035bf2282e8f.png)

>

> ```bash

> 有两个进程,主进程和工作进程(注 1:有这两个进程,说明 nginx 程序起来了)

> 2.看是否有进程占用的端口号

> # yum install lsof net-tools -y(注 2:用来看端口号的软件”)

> # lsof -i:80 只是看 80 端口被那个进程占用了(注 3:两个命令都可以看端口号开没开)

> ```

>

> ![image-20220316093704075](https://img-blog.csdnimg.cn/img_convert/9d0fd145c0d66e7b020fb8ddf81f7eb5.png)

>

> ```bash

> # netstat -anplut 查看本机上所有的开放的端口(注 3:两个命令都可以看端口号开没开)

> ```

>

> ![image-20220316093727014](https://img-blog.csdnimg.cn/img_convert/9185fa7f6e0a41e873485e36eca651a8.png)

>

> ```bash

> (注 4:0.0.0.0 表示本机上所有的 ip 地址,:80 表示所有 ip 地址上的 80 端口)

> (注 5:端口号在:80 体现)

> 开启了防火墙,所以 Windows 上的浏览器访问不过去

> # service firewalld stop 关闭防火墙服务

> # systemctl disable firewalld 设置防火墙服务开机不要启动

> ```

>

> ![image-20220316093750934](https://img-blog.csdnimg.cn/img_convert/3b97ea60115762835b907d64a423a5f7.png)

>

> ```

> 如下↓↓

> ```

> ```bash

> #6.关闭防火墙服务和设置开机不要启动

> service firewalld stop

> systemctl disable firewalld

> ```

> ```bash

> 详细操作

> 刚在启动 nginx 是在/usr/local/nginx/sbin 目录下启动的 ./nginx

> 怎么样让我们在任何地方敲 nginx 它都能找到

> ```

>

> ![image-20220316093851369](https://img-blog.csdnimg.cn/img_convert/9ed27a156fd0f67e9bd230565affe1f4.png)

>

> ```

> 做法:修改 PATH 变量

> 如下

> ```

> ```bash

> #7.修改 PATH 变量,方便可以直接使用 nginx

> echo "PATH=$PATH:/usr/local/nginx/sbin" >>/root/.bashrc

> (注 1:echo 在屏幕上输出,>>输出重对象,追加进去,把它写到/root/.bashrc 里)

> (注 2:写脚本特别喜欢用重对象)

> ```

> ```bash

> 编译安装的步骤:3 部曲

> 1. 编译前的配置 --》 生成配置单 (Makefile)

> ./configure --prefix=/usr/local/nginx --user=sanchuang

> 2. 编译 --》根据配置单制作

> make

> 3. 编译安装 --》将编译好的程序安装

> make install

> ```

> ```bash

> 改首页

> # cd /usr/local/nginx/html/

> # ls

> 50x.html index.html

> # vim index.html 编辑下首页文件

> (注 1:index.html 首页:打开网站看到的第一个页面 --》首先看到的页面)

> ```

>

> ![image-20220316094005835](https://img-blog.csdnimg.cn/img_convert/30e35a2f2f9bbbd25f174b82e3a5072e.png)

>

> ```

> vim 编辑器的复制和粘贴

> yy 是复制当前行(注 2:按下 ESC 后)

> p 粘贴到下一行

> ```

>

> ![image-20220316094037604](https://img-blog.csdnimg.cn/img_convert/0eee1a48d19eba1677ab74d36235cb10.png)

>

> ![image-20220316094046045](https://img-blog.csdnimg.cn/img_convert/2f053f25ab182c2eca56d25a8ffe2fa8.png)

>

> ```bash

> // vim chenpeng.html

> ls

> ```

>

> ![image-20220316094112773](https://img-blog.csdnimg.cn/img_convert/62cf645640c8c8e492c7d1b5d3782441.png)

>

> ![image-20220316094121790](https://img-blog.csdnimg.cn/img_convert/e4d738143d207e4b98fa419c9a72aae0.png)

>

> ```

> (注 3:这里建的 html 叫什么名字,外面接的时候就要/接它)

> (注 4:默认情况下首页都叫 index.html nginx 里的规定)

> ```

### 回顾

```

web 服务器:网站方面的应用 web server

提供网站服务

server 服务器

client 客户机

broswer 浏览器

http 访问的端口是 80

https 访问的端口是 443

nginx 可以监听两个端口(80、443)(要记)

https 传输的内容经过加密,更加安全(注 1:很多电商网站和银行网上支付都是 https)

```

![image-20220316094226777](https://img-blog.csdnimg.cn/img_convert/144f141e440cbe7b98a00ae73c5e3b51.png)

```

// 安装两个 nginx 不冲突,路径不同就行。同时启动不能占用相同的端口

nginx 卸载,直接把这个目录删掉 rm -rf

脚本的意义:提前设置好的程序,按照程序去走

下到指定目录的路径

```

![image-20220316094252721](https://img-blog.csdnimg.cn/img_convert/5217d60c23ed973d20b9e2e0be0c617e.png)

```

// 80 端口被占用,新建的 nginx 启动不了

```

![image-20220316094307770](https://img-blog.csdnimg.cn/img_convert/c4abd1c1163b21140d6ccfbd0450695f.png)

### 修改 8080 端口

> // 配置新的 nginx 使用 8080 端口 (注 2:vim nginx.conf 80 /usr/local/nginx2/conf)

>

> (注 3:改端口号,改了配置文件一定要重启 reload)

>

> ```bash

> # pwd

> /usr/local/nginx2/conf

> # ls

> fastcgi.conf fastcgi_params.default mime.types nginx.conf.default uwsgi_params

> fastcgi.conf.default koi-utf mime.types.default scgi_params uwsgi_params.default

> fastcgi_params koi-win nginx.conf scgi_params.default win-utf

> ```

>

> ```bash

> # vim nginx.conf

> listen 8080; 修改端口号 80 为 8080(注 1:找到这一行,修改 8080)

> ```

>

> ![image-20220316094529087](https://img-blog.csdnimg.cn/img_convert/965cd4a754b56ad0fc271c69cb2a74b3.png)

>

> // 启动 nginx 的路径 /usr/local/nginx/sbin/nginx

>

> // netstat -anplut 查看端口号

>

> 有两个 nginx,一个 nginx 监听 8080 端口,一个 nginx 监听 80 端口

>

> ![image-20220316094556682](https://img-blog.csdnimg.cn/img_convert/228362954fcd4b1a98767f0ea0e10c65.png)

>

> 两个 nginx 不冲突,多个 nginx 可以共存

>

> // 访问

>

> 192.168.0.45

>

> 192.168.0.45:8080

>

> 可以 1 个机器里面跑了 2 个网站

### 启动/停止/重启 NGINX

```bash

// 启动 nginx

# /usr/local/nginx/sbin/nginx

# /usr/local/nginx2/sbin/nginx

停止 nginx

# /usr/local/nginx/sbin/nginx -s stop

# /usr/local/nginx2/sbin/nginx -s stop

重启(重新加载) (注 1:修改了配置文件一定要 reload 重启)

# /usr/local/nginx2/sbin/nginx -s reload

(注 1:修改了配置文件一定要 reload 重启,不然不会生效)

```

### 相关路径

![image-20220316094810280](https://img-blog.csdnimg.cn/img_convert/f1757b635315a52c55c6a19fca66cc77.png)

```bash

//conf 放配置文件

修改 nginx 监听的端口号 conf/nginx.conf

修改 nginx 首页 index.html 内容 html/index.html

启动 nginx /usr/local/nginx/sbin/nginx

重启 nginx /usr/local/nginx/sbin/nginx -s reload(注 1:前提条件 nginx 启动了)

```

### 编写自己的网页

```bash

// 编写一个自己的网页 sc.html

里面需要有文字,图片,链接

/usr/local/nginx2/html (注 1:存放网页的地方)

# vim sc.html

<html> (注 4:html 语言 有头有尾)

<head> (注 2:头部)

<title>welcome to sanchuang</title> (注 3:标题)

</head>

<body> (注 5:body 部分就是一段一段的话)

<p>my name is chenpeng</p> (注 6:p 段落标记,表示一段)

<p>my phone number is 18874991147</p>

<p><h1>chenpeng linux</h1> (注 7:h1 字体加粗)

<p><a href="https://www.qq.com">qq.com</a></p>

<p><a href="https://www.taobao.com">taobao.com</a></p>

<p><a href="https://www.jd.com">jd.com</a></p> (注 10:链接 a 标签 href)

<img src="linghuchong.jpg">(注 12:图片 img src,图片放在 sc.html 同一文件夹下)

<p><a href="index.html">index.html</a>(注 13:链接到首页)

</body>

</html>

(注 8:ESC :w 只保存,不退出)

(注 9:访问 192.168.0.45:8080/sc.html)

(注 11:首页(样例)/usr/local/nginx/html/index.html)

修改网页不需要重新启动 nginx 服务,只要刷新浏览器就可以了

只有修改了 nginx 的配置文件,才需要重新启动 nginx 服务 nginx -s reload

// 这是在 8080 端口,放到 80 端口操作↓↓

```

![image-20220316095132879](https://img-blog.csdnimg.cn/img_convert/33a999e5c5d5ae694aaeb34fc5ce11d5.png)

### vim 基本使用

```bash

// vim 的基本使用

1.按 i 进入输入模式

2.按 ESC 返回到命令模式

yy 复制当前行

2yy 复制两行 nyy 复制多行

p 粘贴(往下粘贴)

u 撤销

dd 删除当前行

2dd 删除两行 ndd 删除多行

```

### 中文乱码

```bash

// 解决访问时中文乱码问题

<head>

<meta charset=”utf8”>

</head>

(注 1:可以在 Windows sublime 软件写*.html 文件 上传到 linux /usr/local/nginx/hml 里)

```

---

## 三. Windows、Linux 文件传输

```bash

// Windows、linux 文件传输

解决文件传输的问题

1.rz 和 sz

# yum install lrzsz -y

# rz 从 windows 里上传文件到 linux 里 receive (注 3:传到你当前路径 z 是模式)

# sz abcd.txt 从 linux 里发送文件 abcd.txt 到 windows 里 send (注 4:z 是模式)

2.xftp 传输

需要安装 xftp(注 1:左右边直接拖过来)

```

![image-20220316095002232](https://img-blog.csdnimg.cn/img_convert/48f6c35e635bcdddc3f7af6b7b462f40.png)

```

(yum provides rz 注 2:查询 rz 命令是哪个软件包提供的)

```

---

发布于: 刚刚阅读数: 4
用户头像

mycpen

关注

还未添加个人签名 2020.12.08 加入

还未添加个人简介

评论

发布
暂无评论
05_Linux基础-NGINX编译安装^判断是否启动^修改端口^启动停止重启^相关路径^中文乱码-Windows、Linux文件传输_Linux_mycpen_InfoQ写作社区