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配置文件中的端口