Linux安装Nginx的2种方式(Centos7版本)
第一步,通过安装tengine 安装nginx ,因为tengine里面集成了nginx的安装包,安装tengine配置好后就安装了nginx 下面安装的软件包
tengine-2.3.3.tar.gz 在这个上面安装niginx
先切换到对应的目录:
cd /home
mkdir soft 创建soft文件夹,用来存放软件压缩包
虚拟机和win本地上传文件还可以通过rz命令进行上传
yum install lrzsz
rz:从本地上传文件至服务器
有些安装可能没有上面的提示输入y的命令 我这边是全新创建的一个虚拟机环境才有
直接输入
rz
后面回车找到对应目录,上传就行
通过rz命令上传软件压缩包,软件压缩包可以去官网下载
或者 通过win本地和虚拟机互传工具,把自己在win本地准备的python3.8的压缩包上传到虚拟机对应的目录下
互传工具:
Xfp
WinSCP 也可以互传的
这里用winscp ,输入ip和密码登录就可以
链接成功
直接在左边win里面把要传的文件,直接鼠标拖动到对应目录下面
传输成功
查看是否上传软件压缩包成功:
通过命令解压
tar -zxvf tengine-2.3.3.tar.gz
解压成功
进入目录,查看
输入
more nginx.c 查看这个文件命令
通过上面查看,知道nginx是C语言编写的
所以要安装这个文件
1、 yum install gcc-c++
2、yum install -y pcre pcre-devel
3、yum install -y zlib zlib-devel
4、 yum install -y openssl openssl-devel
对于 gcc,因为安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境的 话,需要安装gcc。 对于 pcre,prce(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的 正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。 对于 zlib,zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所 以需要在linux上安装zlib库。 对于 openssl,OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书 封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持 https(即在ssl协议上传输http),所以需要在linux安装openssl库。
后面要切换到对应目录下进行一个初始化安装
编译前面准备工作
./configure --prefix=/usr/local/nginx
编译之后要安装:
make install 编译安装
编译完成切换目录
进入这个目录,
./nginx nginx //启动
nginx -s stop/qut //停止
发现这个命令启动nginx时候,有服务启动
可是不能通过ip进行访问nginx
这个问题后面解决了,这个问题是自己的linux防护墙没有关闭导致的问题
systemctl stop firewalld.service 关闭防火墙
systemctl status firewalld.service 关闭防火墙
关闭防护墙后,发现可以访问了。
nginx不能通过ip访问 ,查看服务进程是起来的话,就要查看linux防火墙是否关闭
服务没有起来时候
启动服务后
第二种安装nginx方式:直接解压nginx 压缩包安装nginx
直接用命令删除这个nginx
用rz命令上传nginx压缩包,进行安装
用rz上传,发现压缩包太大不能传输,用传输软件进行传输
wget http://nginx.org/download/nginx-1.18.0.tar.gz
用wget 命令下载也可以
出现上面问题
- 查看服务器是否安装wget
rpm -qa|grep 'wget'
没有显示说明没有
没有命令,使用下面命令安装
yum install -y wget
后面下载
解压到当前目录
tar -zxvf nginx-1.18.0.tar.gz
接着进入到解压之后的目录,进行编译安装。
./configure --prefix=/usr/local/nginx
要切换到nginx解压目录才能使用上面命令
make
make install 这个命令和make一样的效果 上面用了make就可以不用这个了
切换到安装的nginx目录
接着我们进入到 sbin 目录,通过如下命令启动 nginx:
查看nginx服务是否启动
ps -ef | grep nginx
浏览器测试一样的不能访问
找了一遍原因,发现这个问题是自己的linux防护墙没有关闭导致的问题
systemctl stop firewalld.service 关闭防火墙
systemctl status firewalld.service 关闭防火墙