Nginx的安装与配置文件结构| 学习笔记

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 快速学习Nginx的安装与配置文件结构。

开发者学堂课程【企业Web常用架构LAMP-LNMP实战Nginx的安装与配置文件结构】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/385/detail/4833


Nginx的安装与配置文件结构

 

内容介绍

一、LNMP架构的部署注意事项

二、Nginx 的安装与配置文件结构

Nginx 常用功能实战

 

一、LNMP 架构的部署注意事项

1、nginx 的安装过程

最常安装的有两个分别是 pcre 和 zlib, 安装这两个的原因是为了能服务于以后,建议安装 pcre , zlib ,前者为了重写 rewrite ,后者为了 gzip 压缩,可以用源码方式安装,也可以用亚码方式安装。

依赖库安装如下:(最好用 yum 来安装)

yum-yinstall libmcrypt-develmhash-devellibxslt-devel\libjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-devel\

zlibzlib-develglibcglibc-develglib2glib2-develbzip2bzip2-devel\ncursesncurses-develcurlcurl-devele2fsprogse2fsprogs-devel \krb5krb5-devellibidn libidn-devel openssl openssl-devel

安装nginx(0.8版)

[root@localhost nginx-1.8.1]#  ./configure  --with-http_status_module--prefix=/usr/local/nginx--with-pcre=/app/lamp/pcre-8.10--with-zlib=/app/lamp/pcre-8.10—with-zlib/app/lamp/zlib-1.2.5

其中,/app/lamp/pcre-8.10 和 app/lamp/zlib-1.2.5 为 pcre 和 zlib 源码包路径。(只需注意 pcre 和 zlib 源码包路径)

With-pcre 就是将下载过来的 pcre 安装包指定过来,需要注意的是,之前的安装方式就是将 pcre 和 zlib 安装下来,然后编译,在 nginx 中安装时指定之前 pcre 和 zlib 的一个安装路径,现在只需指定 pcre 和 zlib 源码包的路径。

2、 mysql 安装过程(略)1、通过源码包方式安装2、mp安装

3、Php 的安装过程(和 LNMP 基本安装过程一致)

mysql 是通过 yum 安装的
[root@localhost/app]#tarxjvfphp-5.6.18.tar.bz2[root@localhost/app]#tcd php-5.6.18./configure- prefix=/usr/ocal/php-enable-fpm

注意:fpm是必须的一个功能点
-with-fpm-user=www-data-with-fpm-group=www-data

-with-curl

-with-mcrypt

-enable-mbstring-enable-pdo-with-pdo-mysql=mysqInd

提供 php 与 mysql 相衔接的一个功能点的一个编译。

Mysql 与 php 相关联有三种方式,

1.-with-mysql=mysqlnd直连的方式 ,最原始的方式

2. -with-mysqli=mysqlnd更新版的方式

3. -with-pdo-mysql=mysqlnd接口方式

要通过 php 与 mysql 相关联只需要一种方式
建议选这个:-with-mysqli=mysqInd
-with-mysql=mysqlnd
-with=openssl
-with-imap-ssI

-with-gd-with-jpeg-dir=/usr/lib/

-with-png-dir=/usr/ib/

-enable-exif

-enable-zip

上面的写法中,mysql 是通过 yum 安装的 mysql 来安装记得要 ind
mysql 是源码安装的,需修改 --with-mysql=/usr/loca/mysql,
而--with-mysqli 为 -with-mysqli=/usr/local/mysql/bin/mysql_config
[root@localhost/app]#make

[root@localhost/app]#make install

 

二、nginx 的安装与配置文件结构

Nginx 应用非常广泛,接触比较多,要先清楚结构,之后做配置或者相关附属工作时就比较方便。

Nginx 配置文件主要分成四部分:
main(全局设置)
server(主机设置、区域主机设置)
upstream(负载均衡服务器设置)

location(URL匹配特定位置的设置)

多个server组成HTTP

如图:

image.png

最小的部分是 location,多个 location 组成 server,多个 server 组成一个 HTTP,Main 又分为两个部分,events 和 HTTP

 

三.Nginx常用功能实战

例如:conf 目录( Nginx 的配置文件所在目录)、html(文件存放的目录)、sbin (启动目录)、logs.

[root@localhost ~]# cd /usr/local/nginx

[root@localhost nginx]# ls

client_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp

[root@localhost nginx]# cd sbin/(二进制Ng的工具)

1s

[ root@localhost sbin]# ls

Nginx

[ root@localhost sbin]# 11

total 3356

- rwxr-xr-x 1 root root 3433300 Mar 9 14:58 nginx

[ root@localhost sbin]# cd logs

bash: cd: logs: NO such file or directory

[ root@localhost sbin]# ls

Nginx

[ root@localhost sbin]# cd

Ls

[ root@localhost nginx]# ls

C 1 ient_ body_ temp conf fastcgi_ temp html logs proxy_ temp sbin scgi-temp uwsgi-temp

[ root@localhost nginx]# cd logs

[ root@localhost logs]# ls

access. Log error. log host. access. log nginx.pid taob.access. log taobao. access. log

[ root@localhost logs]# 11

total 404

[root@localhost logs] #cd…

[root@localhost nginx] #1s

client body_ temp conf fastcgi temp html logs proxy_ temp sbin scgi_ temp uwsgi temp

[ root@localhost nginx]# cd conf/

[ root@localhost conf]#1s

[ root@localhost conf]#11

重点看 php-fpm.conf 默认的配置文件,可能会需要修改

[ root@localhost conf ]# cd

[ root@localhost nginx ]# 1s

C lient body_ temp conf fastcgi temp html logs

[ root@localhost nginx ]# cd

[ root@loca lhost local]# ls

[ root@localhost local]# cd php5.6/

I [ root@localhost php5.6]#1s

bin etc include lib php sbin var

[ root@localhost php5.6]# pwd

/usr/ local /php5.6

[ root@localhost php5.6]# cd etc/

[ root@localhost etc]# ls

pear .conf    php-fpm. Conf

[ root@localhost etc]#cat php-fpm.conf |grep -v”;

内容:

[ www]

user = www- data

group = www-data

listen = 127.0.0.1 : 9000

pm = dynami C

pm. max_ children = 5

pm. Start servers = 2

pm. min spare servers = 1

pm.max_ spare_ servers = 3

启动

[ root@localhost etc]# ls

pear. conf php- fpm. Conf

[ root@localhost etc]# cd

[ root@localhost php5.6] #1s

php fpm

I [ rootalocalhost sbin]# ./

[ root@localhost sbin]# cd . .

[ root@localhost php5.6]# ls

[ root@localhost php5.6]# cd

[ root@localhost local]# ls

[ root@localhost local ]# cd nginx

[ root@localhost nginx]# ls

[ rootalocalhost nginx]# sbin/ng inx-t

nginx: the conf iguration file /usr/ local/nginx/conf/nginx. conf syntax is ok

nginx:[warn]65536 worker connections exceed open fi le resource 1 imit : 1 02

nginx: conf iguration file /usr/ loca 1/nginx/conf /nginx.conf test is successful

user=www-data

group=www-data
listen=127.0.0.1:9000
pm=dynamic(默认模式为动态,有静态和动态的模式)
pm.max_children=5(最大值)
pm.start_servers=2(刚开始启动的进程)
pm.min_spare_servers=1(最小的进程数)

pm.max_spare_servers=3(最大的进程数)
查找配置文件是否正确:sbin/nginx _t

打开 sb 目录:cd sbin

打开 fp 目录:./php-fpm(父进程和子进程的关系)

打开 ng 目录:sbin/nginx -t

warn 警告信息

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
9月前
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
894 87
|
9月前
|
Ubuntu 网络协议 应用服务中间件
在 Ubuntu 上安装 Nginx
在 Ubuntu 上安装和配置 Nginx 非常简单。首先更新系统包,然后通过 `apt` 安装 Nginx,检查服务状态并配置防火墙规则。访问服务器 IP 测试是否成功显示默认页面。还可管理服务、创建虚拟主机及排查常见问题,适合新手快速上手部署高性能 Web 服务。
1165 0
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
1203 25
|
网络协议 前端开发 应用服务中间件
nginxconf.sh 自动生成 nginx tcp 转发配置文件 conf
该脚本由 eisc.cn 开发,用于自动生成 Nginx 代理配置。它根据预设的域名、IP 和端口信息,为多个项目(如 www、work、sou 等)创建对应的 Nginx 配置文件,设置前端转发、端口对端口及后端转发规则,并生成日志和 301 跳转配置。支持自动创建 CGI 解析目录,确保各项目能够正确访问。运行时需具备 root 权限或使用 sudo。
375 9
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
648 5
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
12192 1
|
域名解析 网络协议 应用服务中间件
nginx server_name配置文件覆盖不生效
nginx server_name配置文件覆盖不生效
|
缓存 负载均衡 算法
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个通用的 TCP/UDP 代理服务器,以及一个邮件代理服务器和通用的 HTTP 缓存服务器。
654 0
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
2018 0
Mac os 安装 nginx 教程(success)
|
存储 缓存 前端开发
Nginx 基础配置(二)|学习笔记
快速学习 Nginx 基础配置
378 0
Nginx 基础配置(二)|学习笔记