admin管理员组

文章数量:1651581

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

    • 一、前情知识
    • 1、what is 服务?
    • 2、what is ngnix服务?
    • 3、how to 搭建?
    • 4、what is 防火墙和端口
    • 二、安装ngnix
    • 1. 下载
    • 2. 传到虚拟机
    • 3. 解包
    • 4. 安装
    • 5.编译安装
    • 三、nginx使用
    • 1、启动
    • 2、查看
    • 3、退出
    • 4、重启
    • 5、搭建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系统中的压缩包

点击下载放到桌面

2. 传到虚拟机

打开WinSCP,WinScp默认在当前用户的家目录中
登录 192.168.10.10(虚拟机地址) 的root账户

通过 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指令 需要虚拟机可以联网

依次执行以下指令即可

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 程序名 在所有运行程序中搜索指定的程序名

3、退出

./nginx -s quit  


kill -9 程序的进程ID,两个都要kill

结束进程之后,grep进程就自动结束了,不需要杀死

4、重启

方式一:

./nginx -s reload

方式二: 先退出, 再启动

 ./nginx -s quit 
./nginx

方式三: 先查进程编号, 再杀死并启动, 不能直接启动,会报错端口已被占用

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

5、搭建nginx服务器

从端口中选择一个端口进行监听,nginx默认监听80,如果外面有程序进来,就会触发该程序,开始工作

无法访问直接192.168.20.20:80,因为监听端口未被开放

防火墙配置端口开放规则

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

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

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 //查看目前放出去的所有端口


开放80端口

外界即可访问nginx 访问:192.168.20.20:80

nginx默认监听的端口能不能改 ?在哪里改?
能,在nginx的conf目录中有一个名为nginx.conf的文件中可以修改nginx默认监听的端口

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


将监听端口修改为81

重启nginx,因为此时只是端口放出去还并未被监听,则可访问192.168.20.20:81


若出现问题,

找问题:
1. 测试网络是否互通
2. 查看防火墙规则 firewall-cmd,查看端口是否开放,
3. 查看进程是否启动,端口监听是否正确 ps-ef | grep,查看nginx.conf配置文件中的端口

本文标签: 服务器Nginx