nginx因其并发链接请求数的原因,经常被用于反向代理。
在Apache时代与php的结合靠模块,而nginx靠的是fastcgi,默认是监听头在本机的9000端口上,可
以通过配置修改,fastcgi有自己的进程,并且可以手动指定启动的子进程,而这些子进程有相应的
管理者,叫fpm,他们的安装顺序应该是先安装MySQL或nginx,然后才是php然后才由php去产生
fastcgi
在安装开始之前,我们可以先根据这几大软件的依赖或调用关系来推测出安装的先后顺序,它们为先安装nginx或数据库,然后再是php,然后由php内的fastcgi来完成他们之间的结合
我们以MySQL的绿色软件包为例,
主要步骤为:
shell> groupadd mysql
shell> useradd -r -g mysql mysql
shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data
# Next command is optional
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &
# Next command is optional
shell> cp support-files/mysql.server /etc/init.d/mysql.server
[root@www local]# ln -s mysql-5.5.15-linux2.6-i686/ mysql
[root@www local]# cd ./mysql
[root@www mysql]# ls
bin data include lib mysql-test scripts sql-bench
COPYING docs INSTALL-BINARY man README share support-files
[root@www mysql]# vim INSTALL-BINARY
[root@www mysql]# groupadd mysql
[root@www mysql]# useradd -r -g mysql mysql
[root@www mysql]# cd /usr/local/mysql
[root@www mysql]# chown -R mysql .
[root@www mysql]# chgrp -R mysql .
[root@www mysql]# ll
[root@www ~]# cd /usr/local/
[root@www local]# ln -s mysql-5.5.15-linux2.6-i686 mysql
[root@www mysql]# chgrp -R mysql .
[root@www mysql]# chown -R mysql .
[root@www mysql]# scripts/mysql_install_db --user=mysql
Installing MySQL system tables...
OK
在这时我们会看到关于初始化MySQL数据库授权表的时候,是没有报错的,但我们在去具体目录查看的时候并没有那些数据表,但在官方的安装文件中,我们的步骤并没有出错,
[root@www mysql]# ll data/mysql/
total 0
[root@www mysql]# chown -R root .
[root@www mysql]# chown -R mysql data/
[root@www mysql]# cp support-files/mysql.server /etc/init.d/mysqld
cp: overwrite `/etc/init.d/mysqld'? y
[root@www mysql]# chmod a+x /etc/init.d/mysqld
[root@www mysql]# service mysqld start
Starting MySQL... SUCCESS!
[root@www mysql]# service mysqld stop
Shutting down MySQL. SUCCESS!
[root@www mysql]# cp support-files/my-medium.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y (如果以前安装过MySQL,当然是要覆盖的)
在此我们是利用软件包中的配置参考文件完成MySQL的配置文件生成工作
在这时我们会看到关于初始化MySQL数据库授权表的时候,是没有报错的,但我们在去具体目录查看的时候并没有那些数据表,但在官方的安装文件中,我们的步骤并没有出错,而在64位的系统测试中并没有发现这种情况。
解决办法是在上述步骤完成之后,重新把目录下的所有者及所属组改回MySQL之后再重新执行原始表生成语句(在其他步骤执行并不可以,这个暂时还没有查到有关的解释和说明)
[root@www mysql]# chgrp -R mysql .
[root@www mysql]# chown -R mysql .
[root@www mysql]# scripts/mysql_install_db --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
OK
[root@www mysql]# cd data/mysql
[root@www mysql]# ll
total 988
在MySQL成功启动之后,我们可以
在data目录下还有一个以主机名字为名,.err为后缀的日志文件,如图:
[root@www mysql]# hostname
www.tyedus.com
[root@www mysql]# netstat -tupln|grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
6805/mysqld
[root@www mysql]# service mysqld status
SUCCESS! MySQL running (6805)
[root@www mysql]# chkconfig --add mysqld
[root@www mysql]# chkconfig mysqld on
[root@www mysql]#
对MySQL的管理工具如果是rpm安装 的话会在/usr/bin/下找到他们,而我们的绿色软件包都在它
的/bin目录下,所以我们为了以后的管理方便,要将这些路径重新加入到系统的搜索路径中去,所以
修改etc/profile 文件
同样的,对于库文件,我们也要加入到系统的能够识别的目录中去,他们的指定目录分别是/lib
和/usr/lib/,但我们又不可能将这些库全都拷过去,所以方法就是编辑系统控制动态库加载的一个配
置文件,在这个文件下利用一个配置文件将路径加进去,如下编辑/etc/ld.so.conf.d/下的随意的
一个.conf 文件
[root@www lib]# vim /etc/ld.so.conf.d/mysql.conf
[root@www lib]# ldconfig
[root@www lib]# ldconfig -pv |grep mysql
libtcmalloc_minimal.so.0 (libc6) => /usr/local/mysql/lib/libtcmalloc_minimal.so.0
libmysqlclient_r.so.16 (libc6) => /usr/lib/mysql/libmysqlclient_r.so.16
libmysqlclient.so.18 (libc6) => /usr/local/mysql/lib/libmysqlclient.so.18
libmysqlclient.so.16 (libc6) => /usr/lib/mysql/libmysqlclient.so.16
libmysqlclient.so (libc6) => /usr/local/mysql/lib/libmysqlclient.so
[root@www lib]# vim /etc/man.config
[root@www lib]# man mysql
然后我们将man手册将如系统路径变量中去,并测试,如图:
编译配置并安装nginx