一、为何选择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不间断运行,即使运行数个月也不需要重新启动。你还能够在 不间断服务的情况下进行软件版本的升级。
二、Centos7下安装Nginx
1.安装gcc gcc是用来编译下载下来的nginx源码
yum install gcc-c++
2、安装pcre和pcre-devel
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。
nginx 的 http 模块使用 pcre 来解析正则表达式,pcre-devel 是使用 pcre 开发的一个二次开发库。
yum install -y pcre pcre-devel
3、安装zlib zlib提供了很多压缩和解方式,nginx需要zlib对http进行gzip
yum install -y zlib zlib-devel
4、安装openssl openssl是一个安全套接字层密码库,nginx要支持https,需要使用openssl
yum install -y openssl openssl-devel
5. 下载nginx
wget http://nginx.org/download/nginx-1.14.2.tar.gz
6.解压
tar -zxvf nginx-1.14.2.tar.gz
7.编译
./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/tem/nginx/client --http-proxy-temp-path=/var/tem/nginx/proxy --http-fastcgi-temp-path=/var/tem/nginx/fcgi --with-http_stub_status_module
8.安装
make && make install
9.启动
nginx -c /etc/nginx/nginx.conf
10. 如果出现[emerg] getpwnam("nginx") failed 错误 执行
useradd -s /sbin/nologin -M nginx
id nginx
11.如果出现 [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory) 错误
sudo mkdir -p /var/tem/nginx/client
12.如果您正在运行防火墙,请运行以下命令以允许HTTP和HTTPS通信:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
三、查看Nginx是否启动
第一种方法:查看进程列表并过滤
Linux每个应用运行都会产生一个进程,那么我们就可以通过查看Nginx进程是否存在来判断它是否启动。
用ps -ef列出进程列表,然后通过grep过滤。
如: ps -ef | grep nginx 就可以看到Nginx进程是否存在了。
第二种方法:直接查看进程id
ps -C nginx -o pid
这种直接返回pid的方式比较适合跟其他程序结合使用,比如在shell/python脚本中执行这个命令拿到pid,让后根据pid来判断Nginx是否启动。
推荐使用这种方式。
第三种方法:使用netstat命令
如果我们的Nginx运行在80端口,那么就可以通过netstat -anp | grep :80命令来判断Nginx是否启动。
如果出现这种问题 执行此命令 yum -y install net-tools
然后再查看
查看Nginx版本 找到其安装位置。使用-v命令
Nginx 其他命令
以下包含了 Nginx 常用的几个命令:
/usr/local/sbin/nginx -s reload # 重新载入配置文件
/usr/local/sbin/nginx -s reopen # 重启 Nginx
/usr/local/sbin/nginx -s stop # 停止 Nginx
Window下查看Nginx是否启动
1.查看Linux80端口是否开放
firewall-cmd --query-port=80/tcp
2.开放端口
添加指定需要开放的端口: firewall-cmd --add-port=80/tcp --permanent
重载入添加的端口: firewall-cmd --reload
查询指定端口是否开启成功: firewall-cmd --query-port=80/tcp
3.ip地址:端口 查看Nginx是否启动成功 我这里是192.168.163.129:80
四、关闭Nginx
nginx -s stop :快速停止nginx
quit :完整有序的停止nginx
其他的停止nginx 方式:
ps -ef | grep nginx
kill -QUIT 主进程号 :从容停止Nginx
kill -TERM 主进程号 :快速停止Nginx
pkill -9 nginx :强制停止Nginx
至此,Nginx已经安装成功。下来,开始Nginx的学习之旅吧 ~ ~,