近日吮廉,從ubuntu切換到centos6捶牢,所以暫時(shí)先使用yum安裝來搭建php環(huán)境
參考了網(wǎng)上的一些文章:
鏈接1
http://www.reibang.com/p/54f3dffdca67
鏈接2
http://www.111cn.net/database/mysql/42040.htm
鏈接3
http://www.blogjava.net/nkjava/archive/2015/01/20/422289.html
整理下過程:
準(zhǔn)備篇
1泣懊、配置防火墻,開啟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端口通過防火墻
備注:很多網(wǎng)友把這兩條規(guī)則添加到防火墻配置的最后一行曙博,導(dǎo)致防火墻啟動(dòng)失敗,
正確的應(yīng)該是添加到默認(rèn)的22端口這條規(guī)則的下面
如下所示:
###############添加好之后防火墻規(guī)則如下所示##############################
# 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 -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --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#最后重啟防火墻使配置生效
2抹竹、關(guān)閉SELINUX
vi /etc/selinux/config
SELINUX=enforcing#注釋掉
SELINUXTYPE=targeted#注釋掉
SELINUX=disabled#增加
:wq#保存退出
shutdown -r now#重啟系統(tǒng)
3线罕、安裝第三方y(tǒng)um源
*****************原博主采用的方法:安裝的是php5.4************
yum install wget#安裝下載工具
wget http://www.atomicorp.com/installers/atomic#下載
sh ./atomic#安裝
yum check-update#更新yum源
安裝篇
一、安裝nginx
yum remove httpd* php*#刪除系統(tǒng)自帶的軟件包
yum install nginx#安裝nginx根據(jù)提示輸入y進(jìn)行安裝
chkconfig nginx on#設(shè)置nginx開機(jī)啟動(dòng)
service nginx start#啟動(dòng)nginx
二窃判、安裝MySQL
1钞楼、安裝MySQL
yum install mysql mysql-server#輸入Y即可自動(dòng)安裝,直到安裝完成
/etc/init.d/mysqld start#啟動(dòng)MySQL
chkconfig mysqld on#設(shè)為開機(jī)啟動(dòng)
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf#拷貝配置文件(注意:如果/etc目錄下面默認(rèn)有一個(gè)my.cnf,直接覆蓋即可)
2袄琳、為root賬戶設(shè)置密碼
mysql_secure_installation
#回車询件,根據(jù)提示輸入Y,輸入2次密碼跨蟹,回車雳殊,根據(jù)提示一路輸入Y,最后出現(xiàn):Thanks for using MySQL!
MySql密碼設(shè)置完成窗轩,重新啟動(dòng)MySQL:
/etc/init.d/mysqld restart#重啟
/etc/init.d/mysqld stop#停止
/etc/init.d/mysqld start#啟動(dòng)
3夯秃、navicate 鏈接數(shù)據(jù)庫時(shí)提示is not allowed to connect to this MySQL server
解決方法:
情況:你想myuser使用mypassword從任何主機(jī)連接到mysql服務(wù)器的話
GRANT ALL PRIVILEGES ON . TO ‘myuser’@'%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;
其他情況的需求可參考鏈接3
三、安裝PHP5(原文鏈接1安裝的是php5.4.45痢艺,采用的源不同)
*****************由于我想要的是php5.6,則采用下列源*******
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64
安裝php-fpm
yum install php56w-fpm
備注:以上源可以安裝php5.5仓洼, php5.6
chkconfig php-fpm on#設(shè)置php-fpm開機(jī)啟動(dòng)
/etc/init.d/php-fpm start#啟動(dòng)php-fpm
配置篇
一、配置nginx支持php
cp /etc/nginx/nginx.conf /etc/nginx/nginx.confbak#備份原有配置文件
vi /etc/nginx/nginx.conf#編輯
user nginx nginx;#修改nginx運(yùn)行賬號(hào)為: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 PHP scripts 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行的參數(shù),改為$document_root$fastcgi_script_name,或者使用絕對(duì)路徑
service nginx restart#重啟nginx
二堤舒、php配置
vi /etc/php.ini#編輯
date.timezone = PRC#在946行 把前面的分號(hào)去掉色建,改為date.timezone = PRC
disable_functions =
passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,ope
nlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdns
rr,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可以禁用的函數(shù),如果某些程序需要用到這個(gè)函數(shù)舌缤,可以刪除箕戳,取消禁用。
expose_php = Off#在432行 禁止顯示php版本的信息
magic_quotes_gpc = On#在745行 打開magic_quotes_gpc來防止SQL注入
short_open_tag = ON#在229行支持php短標(biāo)簽
open_basedir = .:/tmp/#在380行 設(shè)置表示允許訪問當(dāng)前目錄(即PHP腳本文件所在之目錄)和/tmp/目錄,可以防止php木馬跨站,如果改了之后安裝程序有問題(例如:織夢(mèng)內(nèi)容管理系統(tǒng))国撵,可以注銷此行陵吸,或者直接寫上程序的目錄/data/www.osyunwei.com/:/tmp/
:wq!#保存退出
三、配置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
:wq#保存退出
測試篇
cd /usr/share/nginx/html
vi index.php#添加以下代碼
phpinfo();
?>
:wq!#保存退出
chown nginx.nginx /usr/share/nginx/html -R#設(shè)置權(quán)限
service nginx restart#重啟nginx
service php-fpm restart#重啟php-fpm
在客戶端瀏覽器輸入服務(wù)器IP地址介牙,可以看到相關(guān)的配置信息壮虫!
說明lnmp配置成功