


How to configure CentOS+Nginx+PHP+MySQL standard production environment
php 5.3.1
mysql 5.0.89
nginx 0.8.33 or 0.7.65 (optional)
This is comparable to the one-click installation circulating on the Internet The package is much better, and this method of installation is highly recommended, suitable for all novices and experts. Compiling and installing all the source code on my server is not much better, and it is still very laborious. My installation already includes some common extensions of PHP, such as pdo, eaccelerator, memcache, tidy, etc.
Minimal installation of centos, then create a new repo
# vi /etc/yum.repos.d/centos.21andy.com.repo
Put in the following content
[21andy.com]
name=21andy.com packages for enterprise linux 5 - $basearch
baseurl=http://www.21andy.com/centos/5/$basearch/
enabled=1
gpgcheck=0
protect=1
Enable epel repo
centos i386 Enter the following command
rpm -ihv http:// download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
centos x86_64 Enter the following command
rpm -ihv http:/ /download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-3.noarch.rpm
Then import key
rpm --import /etc/ pki/rpm-gpg/rpm-gpg-key-epel
Copy code
ok, install it with one click
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
Finally yum -y update , all are the latest
If you want to use the latest stable version of nginx 0.7.65, replace
yum -y install nginx
with
yum -y install nginx-stable
That’s it
After installation, you can play like this
service mysqld start
service php-fpm start
service nginx start
Don’t forget to set the boot startup
chkconfig --level 345 mysqld on
chkconfig --level 345 php-fpm on
chkconfig --level 345 nginx on
The configuration files are all found under /etc
See how automatic the installation is
dependencies resolved
================================================= =========
package arch version repository size
============================== ============================
installing:
mysql x86_64 5.0.89-1.el5 21andy.com 3.5 m
mysql-server x86_64 5.0.89-1.el5 21andy.com 10 m
nginx x86_64 0.8.33-3.el5 21andy.com 422 k
php-cli x86_64 5.3.1-2.el5 21andy.com 2.4 m
php-eaccelerator x86_64 2:0.9.6-1.el5 21andy.com 118 k
php-fpm x86_64 5.3.1-2.el5 21andy.com 1.2 m
php- gd x86_64 5.3.1-2.el5 21andy.com 110 k
php-mbstring x86_64 5.3.1-2.el5 21andy.com 1.1 m
php-mcrypt x86_64 5.3.1-2.el5 21andy.com 27 k
php-mysql x86_64 5.3.1-2.el5 21andy.com 84 k
php-pdo x86_64 5.3.1-2.el5 21andy.com 91 k
php-pear noarch 1:1.9 .0-1.el5 21andy.com 420 k
php-pecl-memcache x86_64 2.2.5-3.el5 21andy.com 44 k
php-tidy x86_64 5.3.1-2.el5 21andy.com 31 k
php-xml x86_64 5.3.1-2.el5 21andy.com 115 k
php-xmlrpc x86_64 5.3.1-2.el5 21andy.com 48 k
installing for dependencies:
gmp x86_64 4.1.4-10.el5 base 201 k
libxaw x86_64 1.0.2-8.1 base 329 k
libxmu x86_64 1.0.2-5 base 63 k
libxpm x86_64 3.5.5-3 base 44 k
libedit x86_64 2.11-2.20080712cvs.el5 epel 80 k
libmcrypt x86_64 2.5.8-4.el5.centos extras 105 k
libtidy x86_64 0.99.0-14.20070615.el5 epel 14 0 k
php -common x86_64 5.3.1-2.el5 21andy.com 554 k
sqlite2 x86_64 2.8.17-5.el5 21andy.com 165 k
t1lib x86_64 5.1.1-7.el5 epel 208 k
updating for dependencies:
libevent x86_64 1.4.12-1.el5 21andy.com 129 k
transaction summary
================== ========================================
install 26 package(s)
update 1 package(s)
remove 0 package(s)
The following tests the performance of nginx php-fpm on my local virtual machine and vps respectively
My local machine Virtual machine test, configured as pd930 dual-core 3.0g, 2g memory, 1g memory is allocated to the virtual machine, the installed system is centos 5.4 64bit
The test content is
500 Concurrency test, the cpu usage reached 30%, and the system load was at 10around, the page opens very quickly
[root@localhost ~]#webbench -c 500 -t 30 http://127.0.0.1/
webbench - simple web benchmark 1.5
copyright (c) radim kolar 1997-2004, gpl open source software.benchmarking: get http://127.0.0.1/
500 clients, running 30 sec.speed=223504 pages/min, 21806556 bytes/sec.
requests: 111752 susceed, 0 failed.
2000 Concurrency test, cpu usage 35%, system load Around 18, the page opened very quickly
[root@localhost ~]#webbench -c 2000 -t 30 http://127.0.0.1 /
webbench - simple web benchmark 1.5
copyright (c) radim kolar 1997-2004, gpl open source software.benchmarking: get http://127.0.0.1/
2000 clients , running 30 sec.speed=429494 pages/min, 39004788 bytes/sec.
requests: 214747 susceed, 0 failed.
5000 Concurrency test, cpu usage rate is 30%, system load reaches 35, page rendering speed is not bad, after looking at this data, the 15 million php request mentioned a few days ago is not there What's going on
[root@localhost ~]#webbench -c 5000 -t 30 http://127.0.0.1/
webbench - simple web benchmark 1.5
copyright (c) radim kolar 1997-2004, gpl open source software.benchmarking: get http://127.0.0.1/
5000 clients, running 30 sec.speed =788986 pages/min, 66952700 bytes/sec.
requests: 394493 susceed, 0 failed.
Not enough, change it a bit, 10000 concurrency
10000 Concurrency, the CPU usage is still less than 30%, the system load rises from around 60 to around 1000, I faint! It can still be opened! Just a little stuck! When the load reaches more than 600, there is no lag! Crazy, this is still a virtual machine, and webbench is still opened on my own machine, sweat, it’s too powerful
[root@localhost ~]#webbench -c 10000 -t 30 http://127.0.0.1/
webbench - simple web benchmark 1.5
copyright (c) radim kolar 1997-2004, gpl open source software.benchmarking: get http://127.0 .0.1/
10000 clients, running 30 sec.speed=1513718 pages/min, -17973622 bytes/sec.
requests: 756859 susceed, 0 failed.
And my vps, 2g memory, 8-core CPU test, but I did not use the above yum installation, but compiled and installed all with source code, the test results are as follows:
500 concurrency, cpu usage 20%, load around 2
#webbench -c 500 -t 30 http://127.0.0.1/index.php
webbench - simple web benchmark 1.5
copyright (c) radim kolar 1997-2004, gpl open source software.benchmarking: get http://127.0.0.1/index.php
500 clients, running 30 sec.speed=120520 pages/min, -36244332 bytes/sec.
requests: 60260 susceed, 0 failed.
2000 concurrency , cpu usage is about 20%, load is about 2, no change
webbench -c 2000 -t 30 http://127.0.0.1/index.php
webbench - simple web benchmark 1.5
copyright (c) radim kolar 1997-2004, gpl open source software.benchmarking: get http://127.0.0.1/index.php
2000 clients , running 30 sec.speed=111454 pages/min, -44285944 bytes/sec.
requests: 55727 susceed, 0 failed.
The above is the detailed content of How to configure CentOS+Nginx+PHP+MySQL standard production environment. For more information, please follow other related articles on the PHP Chinese website!

NGINXUnit can be used to deploy and manage applications in multiple languages. 1) Install NGINXUnit. 2) Configure it to run different types of applications such as Python and PHP. 3) Use its dynamic configuration function for application management. Through these steps, you can efficiently deploy and manage applications and improve project efficiency.

NGINX is more suitable for handling high concurrent connections, while Apache is more suitable for scenarios where complex configurations and module extensions are required. 1.NGINX is known for its high performance and low resource consumption, and is suitable for high concurrency. 2.Apache is known for its stability and rich module extensions, which are suitable for complex configuration needs.

NGINXUnit improves application flexibility and performance with its dynamic configuration and high-performance architecture. 1. Dynamic configuration allows the application configuration to be adjusted without restarting the server. 2. High performance is reflected in event-driven and non-blocking architectures and multi-process models, and can efficiently handle concurrent connections and utilize multi-core CPUs.

NGINX and Apache are both powerful web servers, each with unique advantages and disadvantages in terms of performance, scalability and efficiency. 1) NGINX performs well when handling static content and reverse proxying, suitable for high concurrency scenarios. 2) Apache performs better when processing dynamic content and is suitable for projects that require rich module support. The selection of a server should be decided based on project requirements and scenarios.

NGINX is suitable for handling high concurrent requests, while Apache is suitable for scenarios where complex configurations and functional extensions are required. 1.NGINX adopts an event-driven, non-blocking architecture, and is suitable for high concurrency environments. 2. Apache adopts process or thread model to provide a rich module ecosystem that is suitable for complex configuration needs.

NGINX can be used to improve website performance, security, and scalability. 1) As a reverse proxy and load balancer, NGINX can optimize back-end services and share traffic. 2) Through event-driven and asynchronous architecture, NGINX efficiently handles high concurrent connections. 3) Configuration files allow flexible definition of rules, such as static file service and load balancing. 4) Optimization suggestions include enabling Gzip compression, using cache and tuning the worker process.

NGINXUnit supports multiple programming languages and is implemented through modular design. 1. Loading language module: Load the corresponding module according to the configuration file. 2. Application startup: Execute application code when the calling language runs. 3. Request processing: forward the request to the application instance. 4. Response return: Return the processed response to the client.

NGINX and Apache have their own advantages and disadvantages and are suitable for different scenarios. 1.NGINX is suitable for high concurrency and low resource consumption scenarios. 2. Apache is suitable for scenarios where complex configurations and rich modules are required. By comparing their core features, performance differences, and best practices, you can help you choose the server software that best suits your needs.


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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

Dreamweaver CS6
Visual web development tools

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment