“这是我参与更文挑战的18天,活动详情查看: 更文挑战”
什么是Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx的三个主要运用场景
- 静态资源服务
- 通过本地文件系统提供服务
- 反向代理服务
- Ngnix强大性能
- 缓存
- 负载均衡
- API服务
- OpenResty
Nginx的优点
Nginx的组成
Nginx二进制可执行文件:由各模块源码编译出的一个文件
Nginx配置文件Nginx.conf:控制Nginx的行为
access.log访问日志:记录每一条http请求信息
error.log错误日志:记录错误信息,可以定位问题
Nginx的编译和安装
环境准备
1.安装相关依赖
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
复制代码
2.安装常用工具
yum -y install wget httpd-tools vim
复制代码
3.查看防火墙状态
systemctl status firewalld
或者
firewall-cmd --state
复制代码
4.开启了防火墙,所以配置iptables
安装iptables
yum install iptables-services
复制代码
配置iptables规则
vim /etc/sysconfig/iptables
复制代码
常用的80和8080端口
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -jACCEPT #添加的
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT #添加的
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
复制代码
重启生效
systemctl restart iptables
复制代码
安装Nginx
1.下载Nginx压缩包
wget https://www.nginx.org/download/nginx-1.17.7.tar.gz
复制代码
2.解压
tar -zxvf nginx-1.17.7.tar.gz
复制代码
3.Nginx目录结构
drwxr-xr-x. 6 1001 1001 4096 Jun 15 18:53 auto
-rw-r--r--. 1 1001 1001 301572 Dec 24 23:00 CHANGES
-rw-r--r--. 1 1001 1001 460207 Dec 24 23:00 CHANGES.ru
drwxr-xr-x. 2 1001 1001 168 Jun 15 18:53 conf
-rwxr-xr-x. 1 1001 1001 2502 Dec 24 23:00 configure
drwxr-xr-x. 4 1001 1001 72 Jun 15 18:53 contrib
drwxr-xr-x. 2 1001 1001 40 Jun 15 18:53 html
-rw-r--r--. 1 1001 1001 1397 Dec 24 23:00 LICENSE
drwxr-xr-x. 2 1001 1001 21 Jun 15 18:53 man
-rw-r--r--. 1 1001 1001 49 Dec 24 23:00 README
drwxr-xr-x. 9 1001 1001 91 Jun 15 18:53 src
复制代码
4.编译安装
[root@centos7 nginx-1.6.2]# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
[root@centos7 nginx-1.6.2]# make
[root@centos7 nginx-1.6.2]# make install
[root@centos7 nginx-1.6.2]#
复制代码
其他
编译参数
安装目的目录或路径
- –prefix=/etc/nginx
- –sbin-path=/usr/sbin/nginx
- –modules-path=/usr/lib64/nginx/modules
- –conf-path=/etc/nginx/nginx.conf
- –error-log-path=/var/log/nginx/error.log
- –http-log-path=/var/log/nginx/access.log
- –pid-path=/var/run/nginx.pid (记录nginx启动服务的进程ID)
- –lock-path=/var/run/nginx.lock
编译生成的文件,执行对应模块时,Nginx所保留的临时性文件
- –http-client-body-temp-path=/var/cache/nginx/client_temp
- –http-proxy-temp-path=/var/cache/nginx/proxy_temp
- –http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
- –http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
- –http-scgi-temp-path=/var/cache/nginx/scgi_temp
rpm安装时的目录
/etc/logrotate.d/nginx
复制代码
类型:配置文件
作用:Nginx日志轮转,用于logrotate服务的日志切割(比如按天切割日志)
/etc/nginx /etc/nginx/nginx.conf /etc/nginx/conf.d /etc/nginx/conf.d/default.conf
复制代码
类型:目录,配置文件
作用:Nginx主配置文件
/etc/nginx/nginx.conf 是主配置文件,当Nginx启动优先读取,当没有变更的时候,会读取/etc/nginx/conf.d/default.conf(安装是默认加载的)。
/etc/nginx/fastcgi_params /etc/nginx/uwsgi_params /etc/nginx/scgi_params
复制代码
类型:配置文件
作用:cgi配置相关,fastcgi配置
/etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf
复制代码
类型:配置文件
作用:编码转换映射转化文件
/etc/nginx/mime.types
复制代码
类型:配置文件
作用:设置http协议的ContentType(数据返回类型)与扩展名对应关系
当Nginx要处理一些不能识别的扩展名和文件类型的时候就需要编辑该文件
/usr/lib/systemd/system/nginx-debug.service /usr/lib/systemd/system/nginx.service /etc/sysconfig/nginx /etc/sysconfig/nginx-debug
复制代码
类型:配置文件
作用:用于配置出系统守护进程管理器管理方式
/usr/lib64/nginx /etc/nginx/modules
复制代码
类型:目录
作用:Nginx模块目录
/usr/sbin/nginx /usr/sbin/nginx-debug
复制代码
类型:命令
作用:Nginx服务的启动管理的终端命令
/usr/share/doc/nginx-1.6.2 /usr/share/doc/nginx-1.6.2/COPYRIGHT /usr/share/man/man8/nginx.8.gz
复制代码
类型:文件,目录
作用:Nginx的手册和帮助文件
/var/cache/nginx
复制代码
类型:目录
作用:Nginx的缓存目录
Nginx处理可以做代理,还可以做缓存服务
/var/log/nginx
复制代码
类型:目录
作用:Nginx的日志目录
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END