|
CentOS 6.4 system how to configure and install LNMP build PHP server runtime environment?
Installation lnmp Step 1, ready to work
On pkgs.org download rmpforge. rpmforge yum is a third-party source.
Select the appropriate version to download and install.
// After a successful installation, empty yum list and retrieve
[Root @ pangou Desktop] # yum clean all
Loaded plugins: fastestmirror, refresh-packagekit, security
Cleaning repos: base extras rpmforge updates
Cleaning up Everything
Cleaning up list of fastest mirrors
[Root @ pangou Desktop] # yum -y list
Loaded plugins: fastestmirror, refresh-packagekit, security
Determining fastest mirrors
// ......
Uninstall the existing service apache and php
[Root @ pangou Desktop] # yum remove httpd php *
Install development Tools
[Root @ pangou Desktop] # yum -y groupinstall "Development Tools"
Step 2 Install nginx
Create a directory nginx, nginx download, and decompress
[Root @ pangou Downloads] # mkdir nginx
[Root @ pangou Downloads] # cd nginx /
[Root @ pangou nginx] # pwd
/ Root / Downloads / nginx
[Root @ pangou nginx] # wget http://nginx.org/download/nginx-1.4.0.tar.gz
-2013-04-30 23: 13: 44- http://nginx.org/download/nginx-1.4.0.tar.gz
Resolving nginx.org ... 206.251.255.63
Connecting to nginx.org | 206.251.255.63 |: 80 ... connected.
HTTP request sent, awaiting response ... 200 OK
Length: 773451 (755K) [application / octet-stream]
Saving to: "nginx-1.4.0.tar.gz"
100% [=============================================== =================>] 773,451 184K / s in 4.5s
2013-04-30 23:13:48 (166 KB / s) - "nginx-1.4.0.tar.gz" saved [773451/773451]
[Root @ pangou nginx] # ls
nginx-1.4.0.tar.gz
[Root @ pangou nginx] # tar -zxvf nginx-1.4.0.tar.gz
[Root @ pangou nginx] # ls
nginx-1.4.0 nginx-1.4.0.tar.gz
Compile and install nginx
// Compiler installation path / opt / nginx
[Root @ pangou nginx-1.4.0] # ./configure -prefix = / opt / nginx /
Such as the compilation error occurs:
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using -without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using -with-pcre = option.
It is to use yum own ending dependency
[Root @ pangou nginx-1.4.0] # yum install pcre pcre-devel
And then re-compile the above
// Compiler installation path / opt / nginx
[Root @ pangou nginx-1.4.0] # ./configure -prefix = / opt / nginx /
// After successful compilation
[Root @ pangou nginx-1.4.0] # make && make install
Finally, the installation is complete //
Start nginx service
[Root @ pangou nginx] # cd / opt / nginx / sbin /
[Root @ pangou sbin] # ./nginx
Access to 127.0.0.1
Third, install php
Create a folder php, download php, and unzip
[Root @ pangou nginx-1.4.0] # cd / root / Downloads /
[Root @ pangou Downloads] # mkdir php
[Root @ pangou Downloads] # cd php /
[Root @ pangou php] # pwd
/ Root / Downloads / php
// Download
[Root @ pangou php] # wget http://cn2.php.net/get/php-5.4.14.tar.gz/from/this/mirror
// Decompression
[Root @ pangou php] # tar -zxvf php-5.4.14.tar.gz
Install dependencies
[Root @ pangou php] # yum install -y libxml2-devel libjpeg-devel libpng-devel freetype-devel openssl-devel libcurl-devel libmcrypt-devel
Compile php
[Root @ pangou php] # ls
php-5.4.14 php-5.4.14.tar.gz
[Root @ pangou php] # cd php-5.4.14
[Root @ pangou php-5.4.14] # pwd
/root/Downloads/php/php-5.4.14
[Root @ pangou php-5.4.14] # ls
acinclude.m4 CREDITS ltmain.sh NEWS README.MAILINGLIST_RULES README.TESTING stamp-h.in
aclocal.m4 ext main pear README.namespaces README.TESTING2 stub.c
build EXTENSIONS makedist php5.spec.in README.NEW-OUTPUT-API README.UNIX-BUILD-SYSTEM svnclean.bat
buildconf footer Makefile.frag php.gif README.PARAMETER_PARSING_API README.WIN32-BUILD-SYSTEM tests
buildconf.bat generated_lists Makefile.gcov php.ini-development README.PHP4-TO-PHP5-THIN-CHANGES run-tests.php TSRM
CODING_STANDARDS genfiles Makefile.global php.ini-production README.REDIST.BINS sapi UPGRADING
config.guess header makerpm README.EXTENSIONS README.RELEASE_PROCESS scripts UPGRADING.INTERNALS
config.sub INSTALL missing README.EXT_SKEL README.SELF-CONTAINED-EXTENSIONS server-tests-config.php vcsclean
configure install-sh mkinstalldirs README.GIT-RULES README.STREAMS server-tests.php win32
configure.in LICENSE netware README.input_filter README.SUBMITTING_PATCH snapshot Zend
[Root @ pangou php-5.4.14] # ./configure -prefix = / opt / php -with-config-file-path = / opt / php / etc -with-mysql = / usr / -with-mysqli = / usr / bin / mysql_config -with-iconv-dir -with-freetype-dir -with-jpeg-dir -with-png-dir -with-zlib -with-libxml-dir = / usr -enable-xml -disable-rpath -enable-discard-path -enable-magic-quotes -enable-safe-mode -enable-bcmath -enable-shmop -enable-sysvsem -enable-inline-optimization -with-curl -with-curlwrappers -enable-mbregex -enable -fastcgi -enable-fpm -enable-force-cgi-redirect -enable-mbstring -with-mcrypt -enable-ftp -with-gd -enable-gd-native-ttf -with-openssl -with-mhash -enable-pcntl -enable-sockets -with-xmlrpc -enable-zip -enable-soap -without-pear -with-gettext -with-mime-magic
// Compile time may be a bit long. . .
// After successful compilation, installation
[Root @ pangou php-5.4.14] # make && make install
// Installation time is relatively long
After successful installation, php location should be in / opt / php directory, the next is to configure
// Copy the configuration file to the configuration directory
[Root @ pangou php-5.4.14] # cp /root/Downloads/php/php-5.4.14/php.ini-production /opt/php/etc/php.ini
[Root @ pangou php-5.4.14] # cp /opt/php/etc/php-fpm.conf.default /opt/php/etc/php-fpm.conf
[Root @ pangou php-5.4.14] # cd / opt / php / etc /
[Root @ pangou etc] # ls
php-fpm.conf php-fpm.conf.default php.ini
// Then configure nginx configuration files, so that it could run php
[Root @ pangou etc] # cd / opt / nginx / conf /
[Root @ pangou conf] # ls
fastcgi.conf fastcgi_params koi-utf mime.types nginx.conf scgi_params uwsgi_params win-utf
fastcgi.conf.default fastcgi_params.default koi-win mime.types.default nginx.conf.default scgi_params.default uwsgi_params.default
[Root @ pangou conf] # vim nginx.conf
1, remove the #user nobody; # sign into user nobody;
2, remove
#location ~ .php $ {
# Root html;
# Fastcgi_pass 127.0.0.1:9000;
# Fastcgi_index index.php;
# Fastcgi_param SCRIPT_FILENAME / scripts $ fastcgi_script_name;
# Include fastcgi_params;
#}
Before the # sign
And modify
fastcgi_param SCRIPT_FILENAME / scripts $ fastcgi_script_name;
for
fastcgi_param SCRIPT_FILENAME / opt / nginx / html $ fastcgi_script_name;
Final modification is as follows:
location ~ .php $ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME / opt / nginx / html $ fastcgi_script_name;
include fastcgi_params;
}
Restart nginx service, and open the php-fpm
[Root @ pangou ~] # / opt / nginx / sbin / nginx
[Root @ pangou ~] # / opt / php / sbin / php-fpm
// Create a phpinfo file
[Root @ pangou ~] # vim /opt/nginx/html/phpinfo.php
Content
phpinfo ();
?>
Access http://127.0.0.1/phpinfo.php
Successful installation. mysql, mysqli and other extensions are.
Here are a bit lazy and did not compile and install mysql, but using yum install mysql. |
|
|
|