VMware Images:
|
Installing Nginx With PHP5 (And PHP-FPM) And MySQL Support On CentOS 6.3
|
Submitted by falko (Contact Author) (Forums) on Sun, 2012-07-15 19:50. :: CentOS | Web Server | nginx
Installing Nginx With PHP5 (And PHP-FPM) And MySQL Support On CentOS 6.3Version 1.0 Nginx (pronounced "engine x") is a free, open-source, high-performance HTTP server. Nginx is known for its stability, rich feature set, simple configuration, and low resource consumption. This tutorial shows how you can install Nginx on a CentOS 6.3 server with PHP5 support (through PHP-FPM) and MySQL support. I do not issue any guarantee that this will work for you!
1 Preliminary NoteIn this tutorial I use the hostname server1.example.com with the IP address 192.168.0.100. These settings might differ for you, so you have to replace them where appropriate.
2 Enabling Additional Repositoriesphp-fpm is not available from the official CentOS repositories, but from the Remi RPM repository which itself depends on the EPEL repository; we can enable both repositories as follows: rpm --import https://fedoraproject.org/static/0608B895.txt rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi yum install yum-priorities Edit /etc/yum.repos.d/epel.repo... vi /etc/yum.repos.d/epel.repo ... and add the line priority=10 to the [epel] section:
Then do the same for the [remi] section in /etc/yum.repos.d/remi.repo, plus change enabled to 1: vi /etc/yum.repos.d/remi.repo
3 Installing MySQL 5First we install MySQL 5 like this: yum install mysql mysql-server Then we create the system startup links for MySQL (so that MySQL starts automatically whenever the system boots) and start the MySQL server: chkconfig --levels 235 mysqld on Now check that networking is enabled. Run netstat -tap | grep mysql It should show something like this: [root@server1 ~]# netstat -tap | grep mysql If it does not, edit /etc/my.cnf and comment out the option skip-networking: vi /etc/my.cnf
and restart your MySQL server: /etc/init.d/mysqld restart Run mysql_secure_installation to set a password for the user root (otherwise anybody can access your MySQL database!): [root@server1 ~]# mysql_secure_installation
4 Installing NginxNginx is available as a package for CentOS 6.3 (from EPEL) which we can install as follows: yum install nginx Then we create the system startup links for nginx and start it: chkconfig --levels 235 nginx on Type in your web server's IP address or hostname into a browser (e.g. http://192.168.0.100), and you should see the nginx welcome page:
5 Installing PHP5We can make PHP5 work in nginx through PHP-FPM (PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites). We can install php-fpm together with php-cli and some PHP5 modules like php-mysql which you need if you want to use MySQL from your PHP scripts as follows: yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy APC is a free and open PHP opcode cacher for caching and optimizing PHP intermediate code. It's similar to other PHP opcode cachers, such as eAccelerator and Xcache. It is strongly recommended to have one of these installed to speed up your PHP page. APC can be installed as follows: yum install php-pecl-apc Then open /etc/php.ini and set cgi.fix_pathinfo=0: vi /etc/php.ini
(Please read http://wiki.nginx.org/Pitfalls to find out why you should do this.) In addition to that, in order to avoid errors like [08-Aug-2011 18:07:08] PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead in /usr/share/nginx/html/info.php on line 2 ... in /var/log/php-fpm/www-error.log when you call a PHP script in your browser, you should set date.timezone in /etc/php.ini:
You can find out the correct timezone for your system by running: cat /etc/sysconfig/clock [root@server1 nginx]# cat /etc/sysconfig/clock Next create the system startup links for php-fpm and start it: chkconfig --levels 235 php-fpm on PHP-FPM is a daemon process (with the init script /etc/init.d/php-fpm) that runs a FastCGI server on port 9000.
|





Recent comments
16 hours 52 min ago
21 hours 57 min ago
1 day 2 hours ago
1 day 4 hours ago
1 day 18 hours ago
1 day 18 hours ago
1 day 23 hours ago
2 days 6 hours ago
2 days 6 hours ago
2 days 8 hours ago