linux安装ngixn

卸载ngxin(第一次安装请略过)

1.检查nginx是否启动,是否安装ngxin

  • 检查是否安装nginx命令
rpm -qa|grep nginx
  • 检查nginx是否启动命令:
pa -ef|grep nginx
  • 如果启动中需要停止服务,需进入安装nginx的sbin目录停止服务(根据个人实际情况来)
root       4153      1  0 19:19 ?        00:00:00 nginx: master process ./nginx //nginx的启动线程
nobody     4154   4153  0 19:19 ?        00:00:00 nginx: worker process
root       4228   3317  0 19:20 pts/1    00:00:00 grep --color=auto nginx //查询命令的线程
  • 进入nginx安装目录的命令:
cd /usr/local/nginx/sbin/
  • 关闭nginx的命令 (进入nginx的sbin的前提下):
./nginx -s stop

2.查找根下所有名字包含nginx的文件

  • 查找命令:
find / -name nginx
  • 查找结果:
/run/nginx
/var/lib/pcp/config/pmlogconf/nginx
/var/log/nginx
/var/temp/nginx
/usr/local/nginx
/usr/local/nginx/sbin/nginx
/nginx-1.21.1/objs/nginx

3.删除查找的nginx文件

  • 删除命令:
rm -rf /xxxx
  • 删除以上查找的nginx文件:
[root@localhost /]# rm -rf /run/nginx/
[root@localhost /]# rm -rf /var/lib/pcp/config/pmlogconf/nginx/
[root@localhost /]# rm -rf /var/log/nginx/
[root@localhost /]# rm -rf /var/temp/nginx/
[root@localhost /]# rm -rf /usr/local/nginx/
[root@localhost /]# rm -rf /nginx-1.21.1

4.其他设置

​ 如果设置了nginx开机自动启动的话,可能还需要下面两步

  • 关闭开启自动启动
chkconfig nginx off
  • 删除系统配置
rm -rf /etc/init.d/nginx

安装nginx

注意:本章是在网络(镜像)都在正常的情况下的!!!!。如果没有网络的话安装会及其麻烦哦!!!!!

使用以下命令更新一下 yum 检查镜像是否正常:

yum clean cache
//清除缓存
yum makecache
//进行缓存
yum -y update
//更新yum

错误:

正常:

1.环境准备

​ 因为nginx依赖于gcc的编译环境,所以需要安装编译环境来使nginx能编译起来。

  • 安装gcc-c++编译器:

​ 作用:nginx是c开发,需要gcc

yum install gcc-c++

显示完毕,表示安装完成

  • 安装openssl库

​ 作用:使nginx不仅支持http协议,还支持https(ssl 加密功能)

yum install -y openssl openssl-devel

  • 安装pcre包

​ 作用:nginx需要一些正则表达式库(Perl)

yum install -y pcre pcre-devel

  • 安装zlid包

​ 作用:nginx需要对http包的内容进行gzip(解压),所以还需要安装zlib库

yum install -y zlib zlib-devel

2.下载nginx

方式一(建议使用这个方式):

Nginx官方提供了三个类型的版本:

  • ​ Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
  • ​ Stable version:最新稳定版,生产环境上建议使用的版本
  • ​ Legacy versions:遗留的老版本的稳定版
  • 下载完成后,将nginx压缩包移动到linux待安装目录中。我这里是/nginx

方式二:

  • 在linux中下载命令:
wget https://nginx.org/download/nginx-1.20.2.tar.gz

3.安装nginx

1.解压nginx安装包

tar -zxvf nginx-1.20.2.tar.gzs
  • 遇到的问题(使用了下载方式二导致的。)
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

​ 原因分析:wget 命令,在线下载下来的安装包本身就是损坏的

​ 解决办法:下载完整的nginx安装包,通过上传工具上传linux中。

  • 解压完成后,同目录下会生成Nginx的文件夹

2.修改nginx解压目录

的名称为nginx

mv nginx-1.18.0 nginx

3.创建安装目录

mkdir /usr/local/nginx

4.进入nginx的解压的目录下

cd /nginx/nginx

5.执行以下命令(配置nginx安装信息以及安装的模块)

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
配置详解
--prefix=PATH:指定 nginx 的安装目录
--conf-path=PATH:指定 nginx.conf 配置文件路径
--user=NAME:nginx 工作进程的用户
--with-pcre:开启 PCRE 正则表达式的支持
--with-http_ssl_module:启动 SSL 的支持
--with-http_stub_status_module:用于监控 Nginx 的状态
--with-http-realip_module:允许改变客户端请求头中客户端 IP 地址
--with-file-aio:启用 File AIO
--add-module=PATH:添加第三方外部模块

注意:一定一定要注意: \ 的前面要有空格

6.编译nginx命令

make

7.安装nginx命令

make install

8.创建 /var/temp/nginx/client 目录 (临时文件夹)

mkdir /var/temp/nginx/
mkdir /var/temp/nginx/client

9.进入到nginx的安装的sbin目录下(我的是 /usr/local/nginx/sbin/)

cd /usr/local/nginx/sbin/

10.启动nginx服务

./nginx
  • ​ nginx重新加载配置命令 : ./nginx -s reload
  • ​ nginx关闭命令:./nginx -s stop
  • ​ nginx查看版本号命令: ./nginx -v

11.检查nginx是个启动成功以及占用的端口号

netstat -tupl|grep nginx

查到信息表示nginx启动成功!!!

关闭防火墙

若想使用外部主机连接上虚拟机访问Nginx,需要关闭虚拟机的防火墙。

centOS6及以前版本使用命令:

systemctl stop iptables.service

centOS7关闭防火墙命令:

 systemctl stop firewalld.service

随后访问该ip即可看到Nginx界面:

其他问题

注意:在一些严格的网络控制下防火墙是不允许关闭的,只能设置防火墙安全策略。因此远程连接访问也有可能失败无法访问!!

posted @   小林当  阅读(197)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示