CentOS 6.5 yum安裝配置lnmp服務器(Nginx+PHP+MySQL)

如下所有轉載於  http://blog.csdn.net/lane_l/article/details/20235909php

本人於今晚按照該文章使用centos 6.7 64bit安裝成功,作個備份,就轉過來了。html

---------------------------------------------------------------mysql

轉載者語:linux

轉載於:http://www.osyunwei.com/archives/2353.htmlnginx

原文標題:CentOS 6.2yum安裝配置lnmp服務器(Nginx+PHP+MySQL)sql

本人以CentOS6.5親測成功.shell

如下是原文.數據庫

------------------------------------------------------------------------------------------------------------------------------------centos

準備篇:瀏覽器

一、配置防火牆,開啓80端口、3306端口
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(容許80端口經過防火牆)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(容許3306端口經過防火牆)
特別提示:不少網友把這兩條規則添加到防火牆配置的最後一行,致使防火牆啓動失敗,正確的應該是添加到默認的22端口這條規則的下面
添加好以後防火牆規則以下所示:
#########################################################
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -mstate --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -mstate --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
#########################################################
/etc/init.d/iptables restart  #最後重啓防火牆使配置生效

二、關閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing       #註釋掉
#SELINUXTYPE=targeted    #註釋掉
SELINUX=disabled         #增長

:wq  保存,關閉
shutdown -r now   #重啓系統

三、配置CentOS 6.2第三方yum源(CentOS默認的標準源裏沒有nginx軟件包)
yum install wget    #安裝下載工具wget
wget http://www.atomicorp.com/installers/atomic  #下載atomic yum源
sh ./atomic   #安裝
yum check-update  #更新yum軟件包
#############################################################################
安裝篇:

1、安裝nginx
yum install nginx      #安裝nginx,根據提示,輸入Y安裝便可成功安裝
service nginx start    #啓動
chkconfig nginx on    #設爲開機啓動
/etc/init.d/nginx  restart  #重啓
rm -rf /usr/share/nginx/html/*  #刪除ngin默認測試頁

2、安裝MySQL
一、安裝mysql

 yum install mysql mysql-server   #詢問是否要安裝,輸入Y便可自動安裝,直到安裝完成
/etc/init.d/mysqld start   #啓動MySQL
chkconfig mysqld on   #設爲開機啓動
cp /usr/share/mysql/my-medium.cnf   /etc/my.cnf  #拷貝配置文件(注意:若是/etc目錄下面默認有一個my.cnf,直接覆蓋便可)
shutdown -r now  #重啓系統

二、爲root帳戶設置密碼
mysql_secure_installation

回車,根據提示輸入Y

輸入2次密碼,回車

根據提示一路輸入Y

最後出現:Thanks for using MySQL!

MySql密碼設置完成,從新啓動 MySQL:
/etc/init.d/mysqld stop   #中止
/etc/init.d/mysqld start  #啓動
service mysqld restart    #重啓

3、安裝PHP
一、安裝PHP
yum install php   #根據提示輸入Y直到安裝完成 
二、安裝PHP組件,使PHP支持 MySQL、PHP支持FastCGI模式
yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt libmcrypt-devel php-fpm          #根據提示輸入Y回車
/etc/init.d/mysqld restart  #重啓MySql
/etc/init.d/nginx  restart  #重啓nginx
/etc/rc.d/init.d/php-fpm start  #啓動php-fpm
chkconfig php-fpm on  #設置開機啓動
#############################################################################
配置篇

1、配置nginx支持php
cp /etc/nginx/nginx.conf  /etc/nginx/nginx.confbak    #備份原有配置文件
vi /etc/nginx/nginx.conf  #編輯
user  nginx  nginx;  #修改nginx運行帳號爲:nginx組的nginx用戶

:wq!    #保存退出

cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak   #備份原有配置文件
vi /etc/nginx/conf.d/default.conf   #編輯

index index.php index.html index.htm;   #增長index.php

 # pass the PHPscripts to FastCGI server listening on 127.0.0.1:9000
 #
 location ~ \.php$ {
   root          html;
   fastcgi_pass   127.0.0.1:9000;
   fastcgi_index  index.php;
   fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
   include       fastcgi_params;
 }
#取消FastCGI server部分location的註釋,並要注意fastcgi_param行的參數,改成$document_root$fastcgi_script_name,或者使用絕對路徑

2、配置php

vi /etc/php.ini   #編輯

date.timezone= PRC     #在946行 把前面的分號去掉,改成date.timezone = PRC

disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec

,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink

,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen

,disk_free_space,checkdnsrr,getservbyname,getservbyport,disk_total_space

,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid

,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp

,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid

,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid

,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#在386行 列出PHP能夠禁用的函數,若是某些程序須要用到這個函數,能夠刪除,取消禁用。
expose_php = Off        #在432行 禁止顯示php版本的信息
magic_quotes_gpc = On   #在745行 打開magic_quotes_gpc來防止SQL注入
open_basedir = .:/tmp/  #在380行,設置表示容許訪問當前目錄(即PHP腳本文件所在之目錄)和/tmp/目錄,能夠防止php木馬跨站,若是改了以後安裝程序有問題,可註銷此行,或者直接寫上程序目錄路徑/var/www/html/www.osyunwei.com/:/tmp/

:wq! #保存退出

(轉載者語:magic_quotes_gpc個人配置中是不存在的,open_basedir沒有看懂也就跳過了,這兩條並無影響我配置成功,隱患...暫時還沒找到或者還沒理解)

3、配置php-fpm
cp /etc/php-fpm.d/www.conf   /etc/php-fpm.d/www.confbak   #備份原有配置文件
vi /etc/php-fpm.d/www.conf   #編輯
user = nginx   #修改用戶爲nginx
group = nginx   #修改組爲nginx

/etc/init.d/mysqld restart  #重啓MySql
/etc/init.d/nginx  restart  #重啓nginx
/etc/rc.d/init.d/php-fpm  restart  #重啓php-fpm
#############################################################################
測試篇
cd /usr/share/nginx/html/   #進入nginx默認網站根目錄
vi  index.php   #新建index.php文件

<?php
     phpinfo();

?>

:wq! #保存

chown nginx.nginx /usr/share/nginx/html/ -R  #設置目錄全部者

chmod 700  /usr/share/nginx/html/ -R   #設置目錄權限

在客戶端瀏覽器輸入服務器IP地址,能夠看到相關的配置信息!
#############################################################################

備註

nginx默認站點目錄是:/usr/share/nginx/html/

權限設置:chown nginx.nginx/usr/share/nginx/html/ -R

MySQL數據庫目錄是:/var/lib/mysql

權限設置:chown mysql.mysql -R /var/lib/mysql

此教程目前(2012.2.14)安裝Nginx+PHP+MySQL版本以下:

nginx version: nginx/1.0.12

php 5.3.10 (cli) 

server version:5.5.20-cll MySQL Community Server (GPL) by Atomicorp

相關文章
相關標籤/搜索