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系统中的压缩包

Nginx环境搭建 nginx服务搭建_压缩包


点击下载放到桌面

2. 传到虚拟机

打开WinSCP,WinScp默认在当前用户的家目录中

登录 192.168.10.10(虚拟机地址) 的root账户

Nginx环境搭建 nginx服务搭建_运维_02


通过 xshell进入根目录,即可看到该压缩包

Nginx环境搭建 nginx服务搭建_压缩包_03

3. 解包

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

执行解包命令

tar -xf nginx-1.20.2.tar.gz

Nginx环境搭建 nginx服务搭建_服务器_04


创建压缩包命令

tar -cv 被压缩的目录或文件 -f 压缩后的文件名

Nginx环境搭建 nginx服务搭建_服务器_05


删去多余的压缩包,避免占用不必要的空间

rm -f nginx-1.20.2.tar.gz

Nginx环境搭建 nginx服务搭建_nginx_06


解包名字太长,改个名字

mv nginx-1.20.2/ nginx

Nginx环境搭建 nginx服务搭建_Nginx环境搭建_07

4. 安装

nginx是c语言写的,需要c语言的编译环境

执行yum指令 需要虚拟机可以联网

Nginx环境搭建 nginx服务搭建_nginx_08


依次执行以下指令即可

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已经安装好了

Nginx环境搭建 nginx服务搭建_nginx_09


删除安装包(不占多余内存)

rm -rf nginx

三、nginx使用

进入nginx的安装目录

cd /usr/local/nginx

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

cd sbin

Nginx环境搭建 nginx服务搭建_服务器_10

1、启动

./nginx

2、查看

ps -ef 列出当前系统中运行的所有程序

ps -ef | grep 程序名 在所有运行程序中搜索指定的程序名

Nginx环境搭建 nginx服务搭建_nginx_11

3、退出

./nginx -s quit

Nginx环境搭建 nginx服务搭建_压缩包_12


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

Nginx环境搭建 nginx服务搭建_Nginx环境搭建_13


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

4、重启

方式一:

./nginx -s reload

方式二: 先退出, 再启动

./nginx -s quit 
./nginx

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

Nginx环境搭建 nginx服务搭建_Nginx环境搭建_14

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

5、搭建nginx服务器

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

Nginx环境搭建 nginx服务搭建_nginx_15


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

Nginx环境搭建 nginx服务搭建_压缩包_16


防火墙配置端口开放规则

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

Nginx环境搭建 nginx服务搭建_运维_17

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

Nginx环境搭建 nginx服务搭建_压缩包_18

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服务搭建_nginx_19


开放80端口

Nginx环境搭建 nginx服务搭建_运维_20


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

Nginx环境搭建 nginx服务搭建_nginx_21


nginx默认监听的端口能不能改 ?在哪里改?

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

Nginx环境搭建 nginx服务搭建_nginx_22

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

Nginx环境搭建 nginx服务搭建_压缩包_23


将监听端口修改为81

Nginx环境搭建 nginx服务搭建_运维_24


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

Nginx环境搭建 nginx服务搭建_nginx_25


Nginx环境搭建 nginx服务搭建_压缩包_26


若出现问题,

Nginx环境搭建 nginx服务搭建_Nginx环境搭建_27


找问题:

1. 测试网络是否互通

2. 查看防火墙规则 firewall-cmd,查看端口是否开放,

3. 查看进程是否启动,端口监听是否正确 ps-ef | grep,查看nginx.conf配置文件中的端口