nginx php fpm mysql_1分钟完美安装最新 CentOS + Nginx + PHP-FPM + MySQL

PHP 5.3.1

MySQL 5.0.89

Nginx 0.8.33 或 0.7.65 (可选)

现在,我们可以快速全自动搞定 CentOS + Nginx + PHP-FPM + MySQL 的安装了

这个可比网上流传的什么一键安装包要好得多,强烈推荐此法安装,适合所有菜鸟和高手

我服务器上全用的源代码编译安装,也好不到哪去,还很费劲

我这个装完已经包含PHP的一些常用扩展, PDO,eaccelerator,memcache,tidy等等

先新建一个 repo

#vi /etc/yum.repos.d/centos.21andy.com.repo

放入如下内容

[21Andy.com]

name=21Andy.com PackagesforEnterprise Linux5-$basearchbaseurl=http://www.21andy.com/centos/5/$basearch/enabled=1gpgcheck=0protect=1

启用 EPEL repo

i386

rpm -ihv

http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

x86_64

rpm -ihv

http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

接着导入key

rpm--import/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

好了,一键安装

#yum install nginx php-fpm mysql-server

如果 nginx 你要用 0.7.65 最新稳定版,把yum -y install nginx换成yum -y install nginx-stable就可以了

更完整的安装

yum-y update

yum-ymysql-server

service mysqld start

mysqladmin-u root password root

service mysqld stop

yum-y install nginx php-fpm

php-cli php-pdo php-mysqlphp-mcrypt php-mbstring

php-gd php-tidy php-xml php-xmlrpc

php-pear php-pecl-memcache php-eaccelerator#APC 和 eAccelerator 有冲突,2选1yum-y install php-pecl-apc

看下我的完整安装,只要一句

yum -y install nginx mysql-server php-fpm php-cli php-pdo php-mysql php-mcrypt php-mbstring php-gd php-tidy php-xml php-xmlrpc php-pear php-pecl-memcache php-eaccelerator

安装结果,全自动

Dependencies Resolved==========================================================Package Arch Version Repository Size==========================================================Installing:mysqlx86_645.0.89-1.el5 21Andy.com3.5Mmysql-server x86_645.0.89-1.el5 21Andy.com10M

nginx x86_640.8.33-3.el5 21Andy.com422k

php-cli x86_645.3.1-2.el5 21Andy.com2.4M

php-eaccelerator x86_642:0.9.6-1.el5 21Andy.com118k

php-fpm x86_645.3.1-2.el5 21Andy.com1.2M

php-gd x86_645.3.1-2.el5 21Andy.com110k

php-mbstring x86_645.3.1-2.el5 21Andy.com1.1M

php-mcrypt x86_645.3.1-2.el5 21Andy.com27k

php-mysqlx86_645.3.1-2.el5 21Andy.com84k

php-pdo x86_645.3.1-2.el5 21Andy.com91k

php-pear noarch1:1.9.0-1.el5 21Andy.com420k

php-pecl-memcache x86_642.2.5-3.el5 21Andy.com44k

php-tidy x86_645.3.1-2.el5 21Andy.com31k

php-xml x86_645.3.1-2.el5 21Andy.com115k

php-xmlrpc x86_645.3.1-2.el5 21Andy.com48k

Installingfordependencies:gmp x86_644.1.4-10.el5 base201k

libXaw x86_641.0.2-8.1base329k

libXmu x86_641.0.2-5base63k

libXpm x86_643.5.5-3base44k

libedit x86_642.11-2.20080712cvs.el5 epel80k

libmcrypt x86_642.5.8-4.el5.centos extras105k

libtidy x86_640.99.0-14.20070615.el5 epel140k

php-common x86_645.3.1-2.el5 21Andy.com554k

sqlite2 x86_642.8.17-5.el5 21Andy.com165k

t1lib x86_645.1.1-7.el5 epel208k

Updatingfordependencies:libevent x86_641.4.12-1.el5 21Andy.com129k

Transaction Summary==========================================================Install26Package(s)

Update1Package(s)

Remove0Package(s

最后只要 yum -y update 一下,全是最新的

别忘了开机启动

chkconfig--level345mysqld on

chkconfig--level345php-fpm on

chkconfig--level345nginx on

来看看我用虚拟机测试的强大结果

http://www.21andy.com/blog/20100219/1703.html

补充:所有的配置文件都在 /etc 目录下,包括 nginx, php-fpm, mysql 的配置文件,请自行查找设置,以下为我的 nginx 的配置范例

先新建一个/www目录,网站和日志也全放在这里

别忘了建日志存放目录,你在配置文件中 access_log 用到的/www/logs

注意:fastcgi_params 要加入这一行

# vim /etc/nginx/fastcgi_params

fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;

# vi /etc/nginx/nginx.conf

1.user nobody nobody;2.3.worker_processes8;#这里根据你的CPU和内存配置, 设置2到10都OK4.5.error_log/www/logs/nginx_error.logcrit;6.7.pid/usr/local/nginx/logs/nginx.pid;8.9.#Specifies the value for maximum file descriptors that can be opened by this process.10.worker_rlimit_nofile51200;11.12.events {13.useepoll;14.worker_connections51200;15.}16.17.http {18.includemime.types;19.default_type application/octet-stream;20.21.#charse gb2312; # 默认编码,可以不设置22.23.server_names_hash_bucket_size128;24.client_header_buffer_size 16k;25.large_client_header_buffers416k;26.client_max_body_size 8m;27.28.sendfile on;29.tcp_nopush on;30.31.keepalive_timeout60;32.33.tcp_nodelay on;34.35.fastcgi_connect_timeout300;36.fastcgi_send_timeout300;37.fastcgi_read_timeout300;38.fastcgi_buffer_size 64k;39.fastcgi_buffers464k;40.fastcgi_busy_buffers_size 128k;41.fastcgi_temp_file_write_size 128k;42.43.gzip on;44.gzip_min_length 1k;45.gzip_buffers416k;46.gzip_http_version1.0;47.gzip_comp_level5;48.gzip_types text/plain text/javascript application/x-javascript text/css application/xml;49.gzip_vary on;50.51.#limit_zone crawler $binary_remote_addr 10m;52.server {53.listen80;54.server_name localhost;55.root/www;56.location/status {57.stub_status on;58.access_log off;59.}60.location/{61.#这里是把所有不存在的文件和目录,全都转到 index.php 处理62.try_files$uri$uri//index.php?q=$uri&$args;63.}64.65.#这里分开放到 server.conf 是为了再开 server 的时候方便,统一调用,放到/etc/nginx/ 目录下66.includeserver.conf;67.68.log_format access'$remote_addr - $remote_user [$time_local] "$request"'69.'$status $body_bytes_sent "$http_referer"'70.'"$http_user_agent" $http_x_forwarded_for';71.access_log/www/logs/access.logaccess;72.}73.74.server {75.listen80;76.server_name www.21andy.com 21andy.com*.21andy.com;77.root/www/21andy.com;78.if($host!~*21andy\.com$) {79.return444;80.}81.location/{82.try_files$uri$uri//index.php?q=$uri&$args;83.}84.includeserver.conf;#这里复用了,这段就省了85.access_log/www/logs/21andy.com_access.logaccess;86.}87.}

# vi /etc/nginx/server.conf

1.index index.html index.htm index.php;2.3.#limit_conn crawler 20;4.5.location~/\.ht {6.deny all;7.}8.9.location~.*\.(sqlite|sq3)$ {10.deny all;11.}12.13.location~.*\.php$ {14.fastcgi_pass unix:/tmp/php-cgi.sock;15.#fastcgi_pass 127.0.0.1:9000;16.fastcgi_index index.php;17.includefastcgi_params;18.}19.20.location~.*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ {21.expires 30d;22.access_log off;23.}24.25.location~.*\.(js|css)?$ {26.expires 30d;27.access_log off;28.}

本行以下内容可以略过

php-fpm 也可以用以下设置,但建议用上面的,比较稳定

1.location~\.php$ {2.root/www;3.fastcgi_pass127.0.0.1:9000;4.fastcgi_index index.php;5.#下面这一行要加在 /etc/nginx/fastcgi_params 里6.#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;7.includefastcgi_params;8.}

不管是使用 php-cgi.sock 或 9000 端口方法,nginx 和 php-fpm 都要同时设置成一样的

nginx 的设置上面已经提过,记得同时修改 php-fpm.conf 相应的地方

# vi /etc/php-fpm.conf

127.0.0.1:9000

unix:/tmp/php-cgi.sock

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值