nginx安装、使用及搭建nginx服务器

一、前情知识

1、what is 服务?

系统中的一种可以被用户通过网络进行访问的程序

eg: www.baidu.com

2、what is ngnix服务?

基于http协议的web代理服务

3、how to 搭建?

在服务器系统中安装ngnix服务软件,并启动该服务

4、what is 防火墙和端口

每一种服务在启动后都会占据系统中的一个端口号,通过防火墙可以配置端口的访问规则

二、安装ngnix

1. 下载

进入官网 ,下载Linux版本的nginx安装包
tar包 ---- linux系统中的压缩包
zip包 — windows系统中的压缩包
nginx安装、使用及搭建nginx服务器_第1张图片
点击下载放到桌面

2. 传到虚拟机

打开WinSCP,WinScp默认在当前用户的家目录中
登录 192.168.10.10(虚拟机地址) 的root账户
nginx安装、使用及搭建nginx服务器_第2张图片
通过 xshell进入根目录,即可看到该压缩包

3. 解包

tar -c 创建压缩文件
	-x 解压缩文件
	-t 查看压缩包内有哪些文件
	-f 目标文件名
	-z Gzip压缩或解压(算法)
	-j  zip2压缩或解压(算法)
	-p 保留原始的权限和属性
	-P 绝对路径来压缩
    -c 指定解压到的目录(压缩的东西)
	-v 显示压缩或解压的过程

执行解包命令

tar -xf nginx-1.20.2.tar.gz

在这里插入图片描述
创建压缩包命令
tar -cv 被压缩的目录或文件 -f 压缩后的文件名
在这里插入图片描述
删去多余的压缩包,避免占用不必要的空间

rm -f nginx-1.20.2.tar.gz

在这里插入图片描述
解包名字太长,改个名字

 mv nginx-1.20.2/ nginx

在这里插入图片描述

4. 安装

nginx是c语言写的,需要c语言的编译环境
执行yum指令 需要虚拟机可以联网
nginx安装、使用及搭建nginx服务器_第3张图片
依次执行以下指令即可

yum -y install gcc-c++ //c语言环境
yum install -y pcre pcre-devel //正则
yum install -y zlib zlib-devel //lib包
yum install -y openssl openssl-devel //插件

5.编译安装

进入源代码目录,依次执行以下代码即可

cd nginx
 //执行安装之前的配置文件,会配置好安装目录,默认安装到/usr/local目录中
./configure
make
make install

进入nginx的安装目录,显示nginx则表明nginx已经安装好了
在这里插入图片描述
删除安装包(不占多余内存)

rm -rf nginx

三、nginx使用

进入nginx的安装目录

cd /usr/local/nginx

有4个子目录
conf 配置目录
html 默认的代理目录
logs 日志目录
sbin 二进制文件目录(这个目录中往往放的是软件的启动命令)
nginx

cd sbin

在这里插入图片描述

1、启动

./nginx

2、查看

ps -ef 列出当前系统中运行的所有程序
ps -ef | grep 程序名 在所有运行程序中搜索指定的程序名
nginx安装、使用及搭建nginx服务器_第4张图片

3、退出

./nginx -s quit  

nginx安装、使用及搭建nginx服务器_第5张图片
kill -9 程序的进程ID,两个都要kill
nginx安装、使用及搭建nginx服务器_第6张图片
结束进程之后,grep进程就自动结束了,不需要杀死

4、重启

方式一:

./nginx -s reload

方式二: 先退出, 再启动

 ./nginx -s quit 
./nginx

方式三: 先查进程编号, 再杀死并启动, 不能直接启动,会报错端口已被占用
nginx安装、使用及搭建nginx服务器_第7张图片

ps -ef  | grep nginx
kill -9 进程号1
kill -9 进程号2
./nginx

5、搭建nginx服务器

从端口中选择一个端口进行监听,nginx默认监听80,如果外面有程序进来,就会触发该程序,开始工作
nginx安装、使用及搭建nginx服务器_第8张图片
无法访问直接192.168.20.20:80,因为监听端口未被开放
nginx安装、使用及搭建nginx服务器_第9张图片
防火墙配置端口开放规则

firewall-cmd --state //查看防火墙状态

在这里插入图片描述

firewall-cmd --list-all //查看防火墙当前规则

nginx安装、使用及搭建nginx服务器_第10张图片

firewall-cmd --query-port=端口/tcp //查看某个端口有没有被放出去

开放指定的端口号码
如果没有 --permanent 代表临时开放, 重启后就不开放了
有–permanent 代表永久开放,除非手动关闭

firewall-cmd --permanent --add-port=80/tcp //一次放一个端口
firewall-cmd --permanent --add-port=80-90/tcp  //一次放一个区间的端口
firewall-cmd --reload //重启防火墙规则
firewall-cmd --permanent --remove-port=80/tcp //关闭端口
firewall-cmd --permanent --list-ports //查看目前放出去的所有端口

nginx安装、使用及搭建nginx服务器_第11张图片
开放80端口
在这里插入图片描述
外界即可访问nginx 访问:192.168.20.20:80
nginx安装、使用及搭建nginx服务器_第12张图片
nginx默认监听的端口能不能改 ?在哪里改?
能,在nginx的conf目录中有一个名为nginx.conf的文件中可以修改nginx默认监听的端口
在这里插入图片描述

vim  /usr/local/nginx/conf/ngnix.conf
:/listen 

nginx安装、使用及搭建nginx服务器_第13张图片
将监听端口修改为81
nginx安装、使用及搭建nginx服务器_第14张图片
重启nginx,因为此时只是端口放出去还并未被监听,则可访问192.168.20.20:81
在这里插入图片描述
nginx安装、使用及搭建nginx服务器_第15张图片
若出现问题,
nginx安装、使用及搭建nginx服务器_第16张图片
找问题:
1. 测试网络是否互通
2. 查看防火墙规则 firewall-cmd,查看端口是否开放,
3. 查看进程是否启动,端口监听是否正确 ps-ef | grep,查看nginx.conf配置文件中的端口

你可能感兴趣的:(操作系统,nginx,运维,服务器)