centOS7下的nginx学习笔记(一)—— nginx的安装

centOS7下的nginx学习笔记(一)—— nginx的安装

  • 准备工作
    • Nginx的优点
    • 获取Nginx
    • 下载Nginx
  • 安装Nginx
    • 安装依赖
    • 解压并安装
  • 最后的配置
    • Nginx 启动、关闭、重启
  • notes:CentOS的防火墙的使用
    • 1、firewalld的基本使用
    • 2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
    • 3.配置firewalld-cmd

准备工作

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。

Nginx的优点

Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性:

作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应,感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型.

作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。

作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。

Nginx 安装非常的简单,配置文件 非常简洁(还能够支持perl语法),Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在 不间断服务的情况下进行软件版本的升级。

获取Nginx

Nginx官方网站:http://nginx.org/
Nginx下载地址:http://nginx.org/en/download.html
centOS7下的nginx学习笔记(一)—— nginx的安装_第1张图片
官网大致提供了3种类型的版本,这里我使用的是nginx-1.16.0版本。

	Mainline:		 	是 Nginx 目前主力在做的版本,可以说是开发版
	Stable version:	最新稳定版,生产环境上建议使用的版本
	versions:			遗留的老版本的稳定版

下载Nginx

这里主要有两种方式,一种就是直接在CentOS中wget,这个需要系统安装相关的依赖;另一种就是提前下载好然后上传到服务器。我这里只说一下wget方式吧。
命令: wget http://nginx.org/download/nginx-1.16.0.tar.gz
注意: 这里有可能会报: command not found
解决方法:

		1、rpm 安装
		下载wget的RPM包:
		http://mirrors.163.com/centos/6.8/os/x86_64/Packages/wget-1.12-8.el6.x86_64.rpm
		执行
		rpm -ivh wget-1.12-8.el6.x86_64.rpm 
		2、yum安装
		yum -y install wget

查看一下下载的包:
在这里插入图片描述
然后在执行命令就不会报错了,到这里下载就完成了。

安装Nginx

安装依赖

先安装nginx依赖的包: 在Linux系统的终端下运行如下命令,或者用Xshell连接自己的Linux系统,在Xshell中运行如下命令:

  1. a.gcc:安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc。
    命令: yum install gcc-c++
  2. PCRE:PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。(注意install空格-y)。
    命令: yum install -y pcre pcre-devel
  3. zlib:zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
    命令: yum install -y zlib zlib-devel
  4. openssl:OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
    命令: yum install -y openssl openssl-devel

解压并安装

命令: tar -zvxf nginx-1.16.0.tar.gz
在这里插入图片描述
用默认值安装,一般这就足够了。
命令: ./configure && make && make install
查看安装位置: whereis nginx
查看暗转位置
然后我们 cd 到安装位置,大致如下:
centOS7下的nginx学习笔记(一)—— nginx的安装_第2张图片
默认情况下:

  1. conf:存放配置文件
  2. html:nginx的一个index页面,和默认的50X错误页面。
  3. logs:日志文件夹
  4. sbin:nginx主程序位置

ps:安装过程可以自定义,具体过程如下:

cd /usr/local/src
wget http://nginx.org/download/nginx-1.4.2.tar.gz
tar -zxvf nginx-1.4.2.tar.gz
cd nginx-1.4.2
 
./configure --sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/opt/app/openet/oetal1/chenhe/pcre-8.37 \
--with-zlib=/opt/app/openet/oetal1/chenhe/zlib-1.2.8 \
--with-openssl=/opt/app/openet/oetal1/chenhe/openssl-1.0.1t
 
make
make install

./configure 后面可以跟一些参数,用法已经在例子中了,具体意义在官方文档中介绍的很详细,地址:http://nginx.org/en/docs/configure.html。

最后的配置

Nginx 启动、关闭、重启

其实就只有三条命令:
首先要进入nginx的sbin文件夹:cd /usr/local/nginx/sbin/

  • 启动:./nginx
  • 停止:./nginx -s stop
  • 重启:./nginx -s reload

由于每次启动都要进到nginx的sbin文件夹,比较麻烦,所以一般都会将nginx加入到环境变量中。
以修改/etc/profile 为例:
执行命令:vi /etc/profile
在打开文件的末尾添加(PATH:[nginx 的 sbin目录]):

PATH="$PATH:/usr/local/nginx/sbin"
export PATH

保存退出,刷新配置: source /etc/profile
测试: nginx
此时无论在什么位置,只要直接输入nginx的命令就可以了(不需要前面的./了)。

  • 启动:nginx
  • 停止:nginx -s stop
  • 重启:nginx -s reload

访问测试:在浏览器输入服务器ip 如:http://192.168.216.104/ 报错!
centOS7下的nginx学习笔记(一)—— nginx的安装_第3张图片
这是由于centos的防火墙80端口没有对外开放,防火墙设置如下:

添加

firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)

重新载入

firewall-cmd --reload

查看

firewall-cmd --zone=public --query-port=80/tcp

删除

firewall-cmd --zone=public --remove-port=80/tcp --permanent

notes:CentOS的防火墙的使用

1、firewalld的基本使用

启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld

2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed

3.配置firewalld-cmd

查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic

你可能感兴趣的:(Linux)