文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

手把手教你在 CentOS7 上搭建 Nginx

2024-12-11 19:32

关注

这里还可以再展开,比如什么是反向代理呀,那有反向代理,是不是还有正向代理?阿粉在这里就不多做解释了哈,相信好奇的读者们肯定会自己去百度/谷歌的~

接下来阿粉将文章重点放在,如何亲手搭建 Nginx

安装前所需环境

Nginx安装之前,需要环境:wget、gcc、pcre、openssl、zlib1,wget ,用于从外网上下载插件:

  1. yum -y install wget 

2,gcc:GCC(GNU Compiler Collection,GNU 编译器套件),是由 GNU 开发的编程语言编译器。GCC 原本作为 GNU 操作系统的官方编译器,现已被大多数类 Unix 操作系统(如 Linux、BSD、Mac OS X 等)采纳为标准的编译器

  1. yum install gcc-c++ 

3,pcre:PCRE(Perl Compatible Regular Expressions)安装 ,它是一个 Perl 库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库

  1. yum install -y pcre pcre-devel 

4,openssl:它是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用; nginx 不仅支持 http 协议,还支持 https (即在 ssl 协议上传输 http ),所以需要在 linux 安装 openssl 库

yum install -y openssl openssl-devel

5,zlib:它提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 linux 上安装 zlib 库

  1. yum install -y openssl openssl-devel 

Nginx 安装

太不容易了,经过上面的步骤,咱们终于将所需要的环境安装好了,然后 Nginx 安装走起

1 ,进入一个目录(随便一个目录就可以,用来存放下载的 Nginx 安装包,在这里以进入 /root 目录为例,如果你用的 root 账号登陆的,登陆进来默认就是 /root ,这也是为啥阿粉用这个目录,比较懒嘛...)

  1. 进入目录命令: cd /root 

下载 nginx 安装包,本文用例 nginx1.10.3(最新版本可通过官网 http://nginx.org/download 可查看)

  1. 下载命令:wget http://nginx.org/download/nginx-1.10.3.tar.gz 

2,解压 Nginx 的 tar 包

  1. 解压命令:tar -zxvf nginx-1.10.3.tar.gz 

3,查看是否解压成功

  1. 命令: ls  

如图,可以看到解压成功

 

4,进入刚解压的的目录

  1. 命令: cd nginx-1.10.3 

进行配置(在此将 Nginx 安装指向 /usr/local/src/nginx/ 目录下)

  1. 命令: ./configure --prefix=/usr/local/src/nginx/  

 

发现会有好多行信息出来,不要怕,是正常的信息

5,进行编译和安装

命令: make && make install

 

6,整个验证、编译、安装过程应该不会报什么错误,如果在上一过程中使用prefix设置了安装目标目录,那么还需要在 /etc/profile 文件中设置环境变量(备注:环境变量一般指操作系统中用来指定操作系统运行环境的一些参数,相当于设置了一个启动软件(如 mysql/jdk )等快速路径,使用的时候很方便)

命令: vi /etc/profile

在配置文件中加入:

export NGINX_HOME=/usr/local/src/nginxexport PATH=$NGINX_HOME/sbin:$PATH

 

因为阿粉乱倒腾的东西挺多的,所以这里的配置文件不需要一定要和阿粉的一样

7,使环境变量生效

命令:source /etc/profile

8,检查是否安装成功:

进入到 etc 目录(cd /etc)中执行命令: nginx –t ,若不正确则会给出相应的错误提示

我这里给出的是正确的提示,说明咱们安装对了

 

9,对Nginx配置文件进行配置,Nginx配置文件的位置: /usr/local/src/nginx/conf/nginx.conf (具体位置要看你自己的):

vi /usr/local/src/nginx/conf/nginx.conf

 

10,将配置文件修改为配置文件在 Nginx 安装目录下的 conf 中的 nginx.conf ,命令:

/usr/local/src/nginx/sbin/nginx -c /usr/local/src/nginx/conf/nginx.conf

11,启动nginx, 命令:

nginx

12,测试,启动 Nginx 的情况下在外部用浏览器访问刚才在配置文件中配置的地址 ,如图所示,即为成功

 

可能出现的问题:

在外部使用浏览器时,访问地址有可能访问不到。

问题原因:没有开放80端口,或者防火墙未关闭

基于安全考虑,建议选择开放80端口

1,开放80端口(请注意,要确保此时的防火墙是打开的,否则进行此步骤是没有意义的):

  1. 开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent 
  2. 重启防火墙:systemctl restart firewalld.service 
  3.   
  4. 命令含义: 
  5.   
  6. --zone #作用域 
  7.   
  8. --add-port=80/tcp  #添加端口,格式为:端口/通讯协议 
  9.   
  10. --permanent   #永久生效,没有此参数重启后失效 

或者直接来个干脆的,将防火墙关掉:

  1. service firewalld stop 

这两个操作,选择其中一个即可。至此,Nginx安装教程结束。

设置 Nginx 开机自启

在实践过程中,发现如果将机器关闭之后,再次打开,需要再次手动开启,才能访问到 Nginx ,对于追求高效率的我们来说,这一点肯定是无法忍受的,所以接下来讲一讲如何设置 Nginx 开机自启:

1,进入到 /lib/systemd/system/ 目录下,命令:

  1. cd /lib/systemd/system/ 

2,创建文件,命令:

  1. vi nginx.service 

将下面内容,复制到该文件中即可:

  1. [Unit] 
  2. Description=nginx  
  3. After=network.target  
  4.  
  5. [Service]  
  6. Type=forking  
  7. ExecStart=/usr/local/src/nginx/sbin/nginx 
  8. ExecReload=/usr/local/src/nginx/sbin/nginx reload 
  9. ExecStop=/usr/local/src/nginx/sbin/nginx quit 
  10. PrivateTmp=true  
  11.  
  12. [Install]  
  13. WantedBy=multi-user.target 

Description: 描述服务 After: 描述服务类别

[Service]服务运行参数的设置 Type=forking 是后台运行的形式 ExecStart 为服务的具体运行命令 ExecReload 为重启命令 ExecStop 为停止命令 PrivateTmp=True 表示给服务分配独立的临时空间 注意一点:[Service]的启动、重启、停止命令全部要求使用绝对路径

[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为 3

3,保存退出该文件之后,执行该文件,使 Nginx 开机自启生效,执行命令:

  1. systemctl enable nginx.service 

 

4,重启一下虚拟机,看看有没有设置成功~

阿粉在这里为了表示上面可以设置开机自启成功,在虚拟机刚启动之后就查看了一下 nginx 的状态,可以看到是 running

 

 

 

看到这里,关于搭建 Nginx 上的那些坑就再也难不住你了

 

来源: Java极客技术内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯