


1 minute perfect installation of the latest CentOS+Nginx+PHP-FPM+MySQL_PHP tutorial
PHP 5.3.1
MySQL 5.0.89
Nginx 0.8.33 or 0.7.65 (optional)
Now, we can quickly and fully automate it CentOS + Nginx + PHP-FPM + MySQL is installed
This is much better than the one-click installation package circulated on the Internet. This method of installation is highly recommended, suitable for all novices and experts
The source code compilation and installation that I use on my server is not much better. Go, it’s still very laborious
My installation already includes some common extensions of PHP, PDO, eaccelerator, memcache, tidy, etc.
First create a new repo
<ol class="dp-xml"><li class="alt"><span><span># vi /etc/yum.repos.d/centos.21andy.com.repo </span></span></li></ol>
Put in the following content
<ol class="dp-xml"> <li class="alt"><span><span>[21Andy.com] </span></span></li> <li> <span></span><span class="attribute"><font color="#ff0000">name</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">21Andy</font></span><span>.com Packages for Enterprise Linux 5 - $basearch </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">baseurl</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">http</font></span><span>://www.21andy.com/centos/5/$basearch/ </span> </li> <li> <span></span><span class="attribute"><font color="#ff0000">enabled</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">1</font></span><span> </span> </li> <li class="alt"> <span></span><span class="attribute"><font color="#ff0000">gpgcheck</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">0</font></span><span> </span> </li> <li> <span></span><span class="attribute"><font color="#ff0000">protect</font></span><span>=</span><span class="attribute-value"><font color="#0000ff">1</font></span><span> </span> </li> </ol>
Enable EPEL repo
i386
<ol class="dp-xml"> <li class="alt"><span><span>rpm -ihv</span></span></li> <li class="alt"><span><span> http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm </span></span></li> </ol>
x86_64
<ol class="dp-xml"> <li class="alt"><span><span>rpm -ihv </span></span></li> <li><span>http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm </span></li> </ol>
Then import the key
<ol class="dp-xml"><li class="alt"><span><span>rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL </span></span></li></ol>
Okay, one-click installation
<ol class="dp-xml"><li class="alt"><span><span># yum install nginx php-fpm mysql-server </span></span></li></ol>
If you want to use nginx 0.7.65, the latest stable version, yum- Just replace y install nginx with yum -y install nginx-stable
More complete installation
<ol class="dp-xml"> <li class="alt"><span><span>yum -y update </span></span></li> <li><span>yum -y mysql-server </span></li> <li class="alt"><span>service mysqld start </span></li> <li><span>mysqladmin -u root password root </span></li> <li class="alt"><span>service mysqld stop </span></li> <li><span>yum -y install nginx php-fpm </span></li> <li class="alt"><span>php-cli php-pdo php-mysql php-mcrypt php-mbstring </span></li> <li><span>php-gd php-tidy php-xml php-xmlrpc </span></li> <li class="alt"><span>php-pear php-pecl-memcache php-eaccelerator </span></li> <li><span># APC 和 eAccelerator 有冲突,2选1 </span></li> <li class="alt"><span>yum -y install php-pecl-apc </span></li> </ol>
Look at my complete installation, just one sentence
yum -y install nginx mysql-server php- fpm php-cli php-pdo php-mysql php-mcrypt php-mbstring php-gd php-tidy php-xml php-xmlrpc php-pear php-pecl-memcache php-eaccelerator
Installation results, fully automatic
<ol class="dp-xml"> <li class="alt"><span><span>Dependencies </span><span class="attribute"><font color="#ff0000">Resolved</font></span><span> </span></span></li> <li><span>========================================================== </span></li> <li class="alt"> <span>Package Arch Version Repository </span><span class="attribute"><font color="#ff0000">Size</font></span><span> </span> </li> <li><span>========================================================== </span></li> <li class="alt"><span>Installing: </span></li> <li><span>mysql x86_64 5.0.89-1.el5 21Andy.com 3.5 M </span></li> <li class="alt"><span>mysql-server x86_64 5.0.89-1.el5 21Andy.com 10 M </span></li> <li><span>nginx x86_64 0.8.33-3.el5 21Andy.com 422 k </span></li> <li class="alt"><span>php-cli x86_64 5.3.1-2.el5 21Andy.com 2.4 M </span></li> <li><span>php-eaccelerator x86_64 2:0.9.6-1.el5 21Andy.com 118 k </span></li> <li class="alt"><span>php-fpm x86_64 5.3.1-2.el5 21Andy.com 1.2 M </span></li> <li><span>php-gd x86_64 5.3.1-2.el5 21Andy.com 110 k </span></li> <li class="alt"><span>php-mbstring x86_64 5.3.1-2.el5 21Andy.com 1.1 M </span></li> <li><span>php-mcrypt x86_64 5.3.1-2.el5 21Andy.com 27 k </span></li> <li class="alt"><span>php-mysql x86_64 5.3.1-2.el5 21Andy.com 84 k </span></li> <li><span>php-pdo x86_64 5.3.1-2.el5 21Andy.com 91 k </span></li> <li class="alt"><span>php-pear noarch 1:1.9.0-1.el5 21Andy.com 420 k </span></li> <li><span>php-pecl-memcache x86_64 2.2.5-3.el5 21Andy.com 44 k </span></li> <li class="alt"><span>php-tidy x86_64 5.3.1-2.el5 21Andy.com 31 k </span></li> <li><span>php-xml x86_64 5.3.1-2.el5 21Andy.com 115 k </span></li> <li class="alt"><span>php-xmlrpc x86_64 5.3.1-2.el5 21Andy.com 48 k </span></li> <li><span>Installing for dependencies: </span></li> <li class="alt"><span>gmp x86_64 4.1.4-10.el5 base 201 k </span></li> <li><span>libXaw x86_64 1.0.2-8.1 base 329 k </span></li> <li class="alt"><span>libXmu x86_64 1.0.2-5 base 63 k </span></li> <li><span>libXpm x86_64 3.5.5-3 base 44 k </span></li> <li class="alt"><span>libedit x86_64 2.11-2.20080712cvs.el5 epel 80 k </span></li> <li><span>libmcrypt x86_64 2.5.8-4.el5.centos extras 105 k </span></li> <li class="alt"><span>libtidy x86_64 0.99.0-14.20070615.el5 epel 140 k </span></li> <li><span>php-common x86_64 5.3.1-2.el5 21Andy.com 554 k </span></li> <li class="alt"><span>sqlite2 x86_64 2.8.17-5.el5 21Andy.com 165 k </span></li> <li><span>t1lib x86_64 5.1.1-7.el5 epel 208 k </span></li> <li class="alt"><span>Updating for dependencies: </span></li> <li><span>libevent x86_64 1.4.12-1.el5 21Andy.com 129 k </span></li> <li class="alt"> <span>Transaction </span><span class="attribute"><font color="#ff0000">Summary</font></span><span> </span> </li> <li><span>========================================================== </span></li> <li class="alt"><span>Install 26 Package(s) </span></li> <li><span>Update 1 Package(s) </span></li> <li class="alt"><span>Remove 0 Package(s </span></li> </ol>
Finally, just yum -y update, everything is the latest
Don’t forget to boot up
<ol class="dp-xml"> <li class="alt"><span><span>chkconfig --level 345 mysqld on </span></span></li> <li><span>chkconfig --level 345 php-fpm on </span></li> <li class="alt"><span>chkconfig --level 345 nginx on </span></li> </ol>
Come and see the powerful results of my virtual machine test
http://www.21andy.com/ blog/20100219/1703.html
Additional: All configuration files are in the /etc directory, including configuration files for nginx, php-fpm, and mysql. Please find the settings by yourself. The following is my nginx configuration example
First create a new /www directory. Websites and logs are also placed here.
Don’t forget to create a log storage directory. The /www/logs you use for access_log in the configuration file
Note: fastcgi_params is required Join this line v# vim/etc/nginx/fastcgi_params
<ol class="dp-xml"><li class="alt"><span><span><font color="#000000">fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; </font></span></span></li></ol>
<ol class="dp-c"> <li class="alt"><span><span>user nobody nobody; </span></span></li> <li><span> </span></li> <li class="alt"><span>worker_processes 8; #这里根据你的CPU和内存配置, 设置2到10都OK </span></li> <li><span> </span></li> <li class="alt"> <span class="func">error_log</span><span> /www/logs/nginx_error.log crit; </span> </li> <li><span> </span></li> <li class="alt"><span>pid /usr/local/nginx/logs/nginx.pid; </span></li> <li><span> </span></li> <li class="alt"> <span>#Specifies the value </span><span class="keyword">for</span><span> maximum file descriptors that can be opened by this process. </span> </li> <li><span>worker_rlimit_nofile 51200; </span></li> <li class="alt"><span> </span></li> <li><span>events { </span></li> <li class="alt"> <span> </span><span class="keyword">use</span><span> epoll; </span> </li> <li><span> worker_connections 51200; </span></li> <li class="alt"><span>} </span></li> <li><span> </span></li> <li class="alt"><span>http { </span></li> <li> <span> </span><span class="keyword">include</span><span> mime.types; </span> </li> <li class="alt"><span> default_type application/octet-stream; </span></li> <li><span> </span></li> <li class="alt"><span> #charse gb2312; # 默认编码,可以不设置 </span></li> <li><span> </span></li> <li class="alt"><span> server_names_hash_bucket_size 128; </span></li> <li><span> client_header_buffer_size 16k; </span></li> <li class="alt"><span> large_client_header_buffers 4 16k; </span></li> <li><span> client_max_body_size 8m; </span></li> <li class="alt"><span> </span></li> <li><span> sendfile on; </span></li> <li class="alt"><span> tcp_nopush on; </span></li> <li><span> </span></li> <li class="alt"><span> keepalive_timeout 60; </span></li> <li><span> </span></li> <li class="alt"><span> tcp_nodelay on; </span></li> <li><span> </span></li> <li class="alt"><span> fastcgi_connect_timeout 300; </span></li> <li><span> fastcgi_send_timeout 300; </span></li> <li class="alt"><span> fastcgi_read_timeout 300; </span></li> <li><span> fastcgi_buffer_size 64k; </span></li> <li class="alt"><span> fastcgi_buffers 4 64k; </span></li> <li><span> fastcgi_busy_buffers_size 128k; </span></li> <li class="alt"><span> fastcgi_temp_file_write_size 128k; </span></li> <li><span> </span></li> <li class="alt"><span> gzip on; </span></li> <li><span> gzip_min_length 1k; </span></li> <li class="alt"><span> gzip_buffers 4 16k; </span></li> <li><span> gzip_http_version 1.0; </span></li> <li class="alt"><span> gzip_comp_level 5; </span></li> <li><span> gzip_types text/plain text/javascript application/x-javascript text/css application/xml; </span></li> <li class="alt"><span> gzip_vary on; </span></li> <li><span> </span></li> <li class="alt"> <span> #limit_zone crawler </span><span class="vars">$binary_remote_addr</span><span> 10m; </span> </li> <li><span> server { </span></li> <li class="alt"><span> listen 80; </span></li> <li><span> server_name localhost; </span></li> <li class="alt"><span> root /www; </span></li> <li><span> location /status { </span></li> <li class="alt"><span> stub_status on; </span></li> <li><span> access_log off; </span></li> <li class="alt"><span> } </span></li> <li><span> location / { </span></li> <li class="alt"><span> # 这里是把所有不存在的文件和目录,全都转到 index.php 处理 </span></li> <li> <span> try_files </span><span class="vars">$uri</span><span> </span><span class="vars">$uri</span><span>/ /index.php?q=</span><span class="vars">$uri</span><span>&</span><span class="vars">$args</span><span>; </span> </li> <li class="alt"><span> } </span></li> <li><span> </span></li> <li class="alt"><span> # 这里分开放到 server.conf 是为了再开 server 的时候方便,统一调用,放到/etc/nginx/ 目录下 </span></li> <li> <span> </span><span class="keyword">include</span><span> server.conf; </span> </li> <li class="alt"><span> </span></li> <li> <span> log_format access </span><span class="string">'$remote_addr - $remote_user [$time_local] "$request" '</span><span> </span> </li> <li class="alt"> <span> </span><span class="string">'$status $body_bytes_sent "$http_referer" '</span><span> </span> </li> <li> <span> </span><span class="string">'"$http_user_agent" $http_x_forwarded_for'</span><span>; </span> </li> <li class="alt"><span> access_log /www/logs/access.log access; </span></li> <li><span> } </span></li> <li class="alt"><span> </span></li> <li><span> server { </span></li> <li class="alt"><span> listen 80; </span></li> <li><span> server_name www.21andy.com 21andy.com *.21andy.com; </span></li> <li class="alt"><span> root /www/21andy.com; </span></li> <li> <span> </span><span class="keyword">if</span><span> (</span><span class="vars">$host</span><span> !~* 21andy.com$) { </span> </li> <li class="alt"> <span> </span><span class="keyword">return</span><span> 444; </span> </li> <li><span> } </span></li> <li class="alt"><span> location / { </span></li> <li> <span> try_files </span><span class="vars">$uri</span><span> </span><span class="vars">$uri</span><span>/ /index.php?q=</span><span class="vars">$uri</span><span>&</span><span class="vars">$args</span><span>; </span> </li> <li class="alt"><span> } </span></li> <li> <span> </span><span class="keyword">include</span><span> server.conf; # 这里复用了,这段就省了 </span> </li> <li class="alt"><span> access_log /www/logs/21andy.com_access.log access; </span></li> <li><span> } </span></li> <li class="alt"><span>} </span></li> </ol>
<ol class="dp-c"> <li class="alt"><span><span>index index.html index.htm index.php; </span></span></li> <li><span> </span></li> <li class="alt"><span>#limit_conn crawler 20; </span></li> <li><span> </span></li> <li class="alt"><span>location ~ /.ht { </span></li> <li><span> deny all; </span></li> <li class="alt"><span>} </span></li> <li><span> </span></li> <li class="alt"><span>location ~ .*.(sqlite|sq3)$ { </span></li> <li><span> deny all; </span></li> <li class="alt"><span>} </span></li> <li><span> </span></li> <li class="alt"><span>location ~ .*.php$ { </span></li> <li><span> fastcgi_pass unix:/tmp/php-cgi.sock; </span></li> <li class="alt"><span> #fastcgi_pass 127.0.0.1:9000; </span></li> <li><span> fastcgi_index index.php; </span></li> <li class="alt"> <span> </span><span class="keyword">include</span><span> fastcgi_params; </span> </li> <li><span>} </span></li> <li class="alt"><span> </span></li> <li><span>location ~ .*.(gif|jpg|jpeg|png|bmp|swf|ico)$ { </span></li> <li class="alt"><span> expires 30d; </span></li> <li><span> access_log off; </span></li> <li class="alt"><span>} </span></li> <li><span> </span></li> <li class="alt"><span>location ~ .*.(js|css)?$ { </span></li> <li><span> expires 30d; </span></li> <li class="alt"><span> access_log off; </span></li> <li><span>} </span></li> </ol>
<ol class="dp-c"> <li class="alt"><span><span>location ~ .php$ { </span></span></li> <li><span> root /www; </span></li> <li class="alt"><span> fastcgi_pass 127.0.0.1:9000; </span></li> <li><span> fastcgi_index index.php; </span></li> <li class="alt"><span> #下面这一行要加在 /etc/nginx/fastcgi_params 里 </span></li> <li> <span> #fastcgi_param SCRIPT_FILENAME </span><span class="vars">$document_root</span><span class="vars">$fastcgi_script_name</span><span>; </span> </li> <li class="alt"> <span> </span><span class="keyword">include</span><span> fastcgi_params; </span> </li> <li><span>} </span></li> </ol>
# vi /etc/php-fpm.conf
<value name="listen_address">127.0.0.1:9000</value>
<value name="listen_address">unix:/tmp/php-cgi.sock</value>
http://www.21andy.com/blog/20100219/1701.html
http://www.bkjia.com/PHPjc/445841.html

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

One of the major changes introduced in MySQL 8.4 (the latest LTS release as of 2024) is that the "MySQL Native Password" plugin is no longer enabled by default. Further, MySQL 9.0 removes this plugin completely. This change affects PHP and other app

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

CMS stands for Content Management System. It is a software application or platform that enables users to create, manage, and modify digital content without requiring advanced technical knowledge. CMS allows users to easily create and organize content

Arrays are linear data structures used to process data in programming. Sometimes when we are processing arrays we need to add new elements to the existing array. In this article, we will discuss several ways to add elements to the end of an array in PHP, with code examples, output, and time and space complexity analysis for each method. Here are the different ways to add elements to an array: Use square brackets [] In PHP, the way to add elements to the end of an array is to use square brackets []. This syntax only works in cases where we want to add only a single element. The following is the syntax: $array[] = value; Example
