文章目录
Nginx安装与基础应用
一、企业中web应用的实践
1.什么是web
web:网站技术的实现
实现网站技术的服务应用,搭建网站的程序
2.企业中常见的主流web应用
-
静态web应用
-
Nginx:nginx.org
-
Apache:apache.com
-
IIS:windows server
-
bfe:百度自研web应用
-
tengine:阿里巴巴自研web应用
-
-
动态web应用
- JAVA:Tomcat,Weblogic,Jboss
- Python:Uwsgi
- php:php-fpm
# 市场占有率排名
https://w3techs.com/technologies/cross/web_server/ranking
3.Nginx的优势特点
- 高性能,处理高并发能力上很强
高并发场景:
网络IO模型
select:apache模型
epoll:nginx模型。查找文件更加高效 - 高扩展性。Nginx模块化,官方提供了多元化的模块。
- 高可用性。项目稳定性的考量指标,每年项目正常运行的时间比例。三个9:8小时。四个9:50分钟。五个9:5分钟。
- 热部署(版本平滑升级)。服务进行升级的同时,保证业务不宕机。
- 应用场景非常多。代理、缓存、负载均衡、处理静态请求、动静分离、LNMP、LNMT、LNMU
二、Nginx安装
1.安装方法
yum安装
编译安装
# 版本介绍
Mainline version:持续更新。维护版本
Stable version:标准版。不提供维护
2.编译安装Nginx
1.介绍
通过源码包,将源码进行编译,直接可以使用
特点:自定义的根据需求安装需要的功能
2.上传源码包并解压
cd /usr/local/src/
tar xvf nginx-1.27.0.tar.gz
3.源码包的介绍
auto #定义自动化编译时系统的环境
conf #程序配置文件
configure #预编译器
contrib #存放语法识别文件
# 配置vim语法识别nginx配置文件语法
mkdir /root/.vim
cp -a /usr/local/src/nginx-1.27.0/contrib/vim/* /root/.vim/
bash
再次查看程序配置文件
vim /usr/local/src/nginx-1.27.0/conf/nginx.conf
发现文件语法高亮
html #nginx默认站点代码
man #nginx命令使用帮助
src #存放nginx功能的源码
4.准备系 统环境
# 创建用户
useradd -M -s /sbin/nologin nginx
# 准备必备依赖环境
yum install -y openssl-devel pcre-devel gcc pcre
5.预编译
移动到源码包所在位置进行预编译
cd /usr/local/src/nginx-1.27.0
./configure --prefix=/usr/local/nginx --sbin-path=/bin/ --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module
--prefix #定义安装路径
--sbin-path #定义命令的存放位置
--with/without #选择安装或不安装的内容
echo $? 检查上个命令是否执行
0 正确执行
6.编译
make
7.安装
make install
8.启动nginx
/bin/nginx
-s reload #重启nginx
-s stop #停止nginx
-t #配置文件的语法检查
三、Nginx相关文件
1.相关配置文件
安装时prefix定义的路径
cd /usr/local/nginx
#conf
fastcgi.conf #Nginx和php交互配置
uwsgi.conf #
koi-utf #存放utf-8支持的语言环境
mime.types #定义资源类型
scgi_params #Nginx和Python交互的配置
2.Nginx的主配置文件
nginx.conf #定义Nginx程序怎么运行
grep -vE "#|^$" conf/nginx.conf
user nginx; #定义程序的运行用户的
worker_processes 1; #定义nginx的工作进程数量
events { #定义nginx工作配置
worker_connections 1024; #定义nginx每个工作进程最大的连接数
}
#配置Nginx如何处理http请求
http {
include mime.types; #引用外部文件内容
default_type application/octet-stream; #默认资源类型
sendfile on; #数据传输优化
keepalive_timeout 65; #Nginx中TCP连接超时时间
3.自定义网站
1.编写配置
server {
listen 81;
server_name test.dms.com;
root /html/test;
index index.html;
}
2.重启nginx
/bin/nginx -s reload
3.准备代码
创建路径
mkdir -p /html/test/
echo 'test nginx web' > /html/test/index.html
四、搭建多实例网站的配置分离
一般情况下网站的配置不会全部写到nginx.conf,所以将网站配置单独在独立的文件中编写,方便于管理维护。
1.在主配置文件添加配置分离包含参数
# 34行
include conf.d/*.conf;
2.创建子配置文件的目录
mkdir /usr/local/nginx/conf/conf.d
3.编写子配置文件
vim /etc/local/nginx/conf/conf.d/game.conf
server {
listen 82;
server_name game.dms.com;
root /html/game;
index index.html;
}
4.重启nginx
/bin/nginx -t
/bin/nginx -s reload
5.准备代码
上传并解压
cd /html/
unzip h5-game-blockBreaker-master.zip
mv h5-game-blockBreaker-master game
五、编写配置文件注意事项
- 相应区域模块要一一对应
- 配置文件中所编写的每一条参数指令,一定要注意“;”结尾
- 确保配置文件中所定义或应用的目录路径或文件要与系统中的真实路径对应
- 注意拼写
#如果搭建项目,nginx启动失败的故障解决思路
1.配置文件语法检查
2.源代码路径和文件名称和配置文件一致
3.浏览器缓存(使用无痕模式)