开发者学堂课程【企业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-mysql
i=
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
如图:
最小的部分是 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
n
ginx:
[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 警告信息