Home >Backend Development >PHP Tutorial >nginx php configuration
CentOS 6.2 yum安装配置lnmp服务器(Nginx+PHP+MySQL)
准备篇:
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端口通过防火墙)
特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的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 -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
#########################################################
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容?版权所有,转载请注明出处及原文链接
/etc/init.d/iptables restart #最后重启防火墙使配置生效
2、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq 保存,关闭
shutdown -r now #重启系统
3、配置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软件包
#############################################################################
安装篇:
一、安装nginx
yum install nginx #安装nginx,根据提示,输入Y安装即可成功安装
service nginx start #启动
chkconfig nginx on #设为开机启动
/etc/init.d/nginx restart #重启
rm -rf /usr/share/nginx/html/* #删除ngin默认测试页
二、安装MySQL
1、安装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 #重启系统
2、为root账户设置密码
mysql_secure_installation
回车,根据提示输入Y
输入2次密码,回车
根据提示一路输入Y
最后出现:Thanks for using MySQL!
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容?版权所有,转载请注明出处及原文链接
MySql密码设置完成,重新启动 MySQL:
/etc/init.d/mysqld stop #停止
/etc/init.d/mysqld start #启动
service mysqld restart #重启
三、安装PHP
1、安装PHP
yum install php #根据提示输入Y直到安装完成
2、安装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 #according to Prompt to enter Y and press Enter
/etc/init.d/mysqld restart #Restart MySql
/etc/init.d/nginx restart #Restart nginx
/etc/rc.d/init.d/php-fpm start #Start php -fpm
chkconfig php-fpm on #Set startup
#################################### ######################################
Configuration article
1. Configure nginx to support php
nginx user
:wq! #Save and exit
cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak #Back up the original configuration file
vi /etc/nginx/conf .d/default.conf #Edit
index index.php index.html index.htm; #Add index.php
System operation and maintenance www.osyunwei.com Warm reminder: qihang01 original content? All rights reserved. Please indicate the source when reprinting. Original link
# 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;
}
#Uncomment the location of the FastCGI server part, and pay attention to the parameters of the fastcgi_param line, change it to $document_root$fastcgi_script_name, or use an absolute path
2. Configure php
vi /etc/php. ini #Edit
date.timezone = PRC #Remove the previous semicolon on line 946 and change it to 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,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,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
expose_php = Off #Suppress the display of php version information on line 432
magic_quotes_gpc = On #Open magic_quotes_gpc on line 745 to prevent SQL injection
open_basedir = .:/tmp/ #On line 380, the setting indicates that access to the current directory (i.e. PHP) is allowed The directory where the script file is located) and the /tmp/ directory can prevent PHP Trojans from crossing sites. If there are problems with the installation program after changing it, you can log out of this line, or directly write the program directory path /var/www/html/www.osyunwei .com/:/tmp/
:wq! #Save and exit
3. Configure php-fpm
System operation and maintenance www.osyunwei.com Warm reminder: qihang01 original content? All rights reserved. Please indicate the source and original link for reprinting
cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.confbak #Back up the original configuration file
vi /etc/php-fpm.d/www.conf #Edit
user = nginx #Modify user to nginx
Group = nginx #Modify group to nginx
/etc/init.d/mysqld restart #Restart MySql
/etc/init.d/nginx restart #Restart nginx
/etc/rc.d/init. d/php-fpm restart #Restart php-fpm
#################################### ####################################
Testing Article
cd /usr/share/nginx /html/ #Enter the nginx default website root directory
vi index.php #Create a new index.php file
phpinfo();
/nginx/html/ -R #Set directory owner
chmod
700 /usr/share/nginx/html/ -R #Set directory permissionsEnter the server IP address in the client browser to see the relevant configuration information ! ############################################## ############################
The above introduces the nginx php configuration, including the installation of MySQL, FastCGI mode, and chmod. I hope it will be helpful to friends who are interested in PHP tutorials.