分手快乐 发表于 2015-1-16 17:02:57

来谈谈:Gentoo 下安装与设置Nginx+ MySQL + PHP (fastcgi) 情况步骤分享

如果你让他去用linux搭建一个web服务器,做一个linux网关,他就什么都不会了.他们把时间都浪费在了版本的转换上了.
1、安装Nginx

一条命令弄定:
USE=fastcgiemergenginx
新建用户和组:
groupaddwww
useraddwww-gwww
Nginx安装好后默许会增加nginx组和nginx用户,不外我自己仍是习气新建个www组和www用户来做HTTP服务用户。若从此HTTP服务器改换为apache或是lighttpd时,用户名和用户组能够稳定。
2、安装MySQL

在装PHP前必需先装MySQL,由于PHP里的MySQL操纵函数必要MySQL头文件和库的撑持。
emergedev-db/mysql
初始化数据库:
数据库的默许路径为/var/lib/mysql,本文的安装把它放在/work/db/3306/data中。

.代码以下:

mkdir-p/work/db/3306/data
mysql_install_db--basedir=/usr--datadir=/work/db/3306/data--user=mysql




修正设置文件:
vim/etc/mysql/my.cnf
将datadir修正为:
datadir=/work/db/3306/data
启动MySQL:
/etc/init.d/mysqlstart
修正root暗码:
mysqladmin-urootpasswordhily
测试数据库:
mysql-uroot-p
显现:
gentoosetup#mysql-uroot-p
Enterpassword:
WelcometotheMySQLmonitor.Commandsendwith;org.
YourMySQLconnectionidis2
Serverversion:5.0.84-logGentooLinuxmysql-5.0.84-r1
Typehelp;orhforhelp.Typectoclearthecurrentinputstatement.
mysql>
测试乐成!
3、安装PHP

以fastcgi体例来运转PHP,必要安装PHP-FPM。
今朝最初一个必要以patch情势安装PHP-FPM的PHP版本是5.3.0,PHP5.3.2版本中将大概间接集成PHP-FPM。
这里我就利用PHP5.3.0来安装。
由于Gentoo中目次还没有集成PHP-FPM的Portage,以是上面间接经由过程源码编译情势举行安装。
下载PHP5.3.0:
wgethttp://cn.php.net/distributions/php-5.3.0.tar.bz2
下载PHP-FPM补钉:
wgethttp://php-fpm.org/downloads/php-5.3.0-fpm-0.5.12.diff.gz
解压PHP并打FPM补钉:
tarjxfphp-5.3.0.tar.bz2
gzip-cdphp-5.3.0-fpm-0.5.12.diff.gz|patch-dphp-5.3.0-p1
安装PHP必要的库(依据本身必要):
emergelibpng
emergejpeg
emergefreetype
USE="pngjpegtruetype"emergegd
或间接:
USE="pngjpegtruetype"emergegd
设置并编译PHP(依据本身必要):

.代码以下:

cdphp-5.3.0
./configure--prefix=/usr/local/php--with-config-file-path=/usr/local/php/etc
--with-mysql=/usr--with-mysqli=/usr/bin/mysql_config--enable-fpm--enable-sockets
--enable-pdo--with-pdo-mysql=/usr--with-gd--with-jpeg-dir--with-png-dir
--with-freetype-dir--with-zlib
make&&makeinstall


PHP设置文件:
.代码以下:

cpphp.ini-production/usr/local/php/etc/php.ini


PHP-FPM设置文件:
vim/usr/local/php/etc/php-fpm.conf
修正listen_address为socket地点(socket比IP:Port高效):
<valuename="listen_address">/tmp/php-fpm.sock</value>
修正用户组和用户名:
.代码以下:

Unixuserofprocesses
<valuename="user">www</value>
Unixgroupofprocesses
<valuename="group">www</value>


修正PHP-FPM运转形式为Apache-Like形式:
.代码以下:

<valuename="style">apache-like</value>
<valuename="StartServers">1</value>
<valuename="MinSpareServers">1</value>
<valuename="MaxSpareServers">5</value>


StartServers、MinSpareServers和MaxSpareServers依据实践必要设置,我这里是假造机,没需要太年夜。
PHP-FPM启动剧本:
cp/usr/local/php/sbin/php-fpm/etc/init.d/php-fpm
启动PHP-FPM
/etc/init.d/php-fpmstart
增加启动服务
.代码以下:

rc-updateaddnginxdefault
rc-updateaddmysqldefault
rc-updateaddphp-fpmdefault


测试Nginx+PHP
增加测试站点目次:
.代码以下:

mkdir-p/work/www/test
echo"<?phpphpinfo();?>">/work/www/test/index.php


增加测试站点的Nginx设置:
vim/etc/nginx/nginx.conf
正文失落server段,在http段尾部加上:
includesites/*.enable;
以后每一个站点的设置文件都以一个自力的文件保留在/etc/nginx/sites目次下,便利办理和保护。
mkdir/etc/nginx/sites
vim/etc/nginx/test.enable
test.enable设置以下:

.代码以下:

server{
listen80;
server_nametest.local;
access_log/work/www/logs/test.access.logmain;
error_log/work/www/logs/test.error.log;
location/{
root/work/www/test;
indexindex.htmlindex.htmindex.php;
}
location~.php${
root/work/www/test;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
fastcgi_passunix:/tmp/php-fpm.sock;
}
}


新建存储日记目次:
mkdir/work/www/logs
当地hosts中增加纪录:
192.168.1.10test.local
192.168.1.10是我这台Gentoo呆板的IP。
从头加载Nginx设置
/etc/init.d/nginxreload
会见:
http://test.local/
显现一般的phpinfo信息,则安装完成。

不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令。

飘飘悠悠 发表于 2015-1-18 17:23:30

直到学习Linux这门课以后,我才知道,原来我错了。?

变相怪杰 发表于 2015-1-27 13:42:03

其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。

小魔女 发表于 2015-2-5 11:57:13

在学习linux的工程中,linux学习方法有很多种,这里是小编的学习心得,给大家拿出来分享一下。

简单生活 发表于 2015-2-11 19:53:33

在学习linux的工程中,linux学习方法有很多种,这里是小编的学习心得,给大家拿出来分享一下。

仓酷云 发表于 2015-3-2 18:30:44

即便是非英语国家的人发布技术文档,Linux也都首先翻译成英语在国际学术杂志和网络上发表。

小妖女 发表于 2015-3-11 05:50:41

Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。

灵魂腐蚀 发表于 2015-3-17 22:07:08

为了更好的学习这门课程,我不仅课上认真听讲,课下也努力学习,为此还在自己的电脑上安装了Ubuntu系统。

再现理想 发表于 2015-3-25 03:47:16

发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
页: [1]
查看完整版本: 来谈谈:Gentoo 下安装与设置Nginx+ MySQL + PHP (fastcgi) 情况步骤分享