Home >Backend Development >PHP Tutorial >Lnmp environment setup
1. Check and install components
yum -y install gcc automake autoconf libtool make gcc-c++ glibc
2. Install libraries
yum -y install libxslt-devel \ libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel \ zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel \ ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel \ krb5-devel libidn libidn-devel openssl openssl-devel
3. Install libmcrypt
cd /usr/local/src wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz tar zxvf libmcrypt-2.5.7.tar.gz cd libmcrypt-2.5.7 ./configure --prefix=/usr/local/libmcrypt make && make install vi /etc/ld.so.conf.d/local.conf 添加 “/usr/local/libmcrypt/lib” ldconfig -v
4. Install PHP
wget http://cn2.php.net/get/php-5.6.11.tar.gz/from/this/mirror tar zxvf php-5.6.11.tar.gz cd php-5.6.11 ./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt=/usr/local/libmcrypt \ --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath \ --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets \ --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex \ --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli \ --with-gd --with-jpeg-dir --with-openssl make && make install
Successfully installed:
Configure php-fpm
cd /usr/local/php/etc cp php-fpm-default.conf php-fpm.conf
Modifyphp-fpm.conf
vi php-fpm.conf
Modify user = nobody group = nobody to user = phpz group = phpz
Create user phpz and user group phpz
groupadd phpz useradd -g phpz phpz
Create php.ini
cp /usr/local/src/php-5.6.11/php.ini-production /usr/local/php/lib/php.ini
Set php-fpm.pid
vi php-fpm.conf
Delete the semicolon in front of;pid = run/php-fpm.pid.
Note: Restart php-fpm Command: kill -USR2 `cat var/run/php-fpm.pid`
4. Install Nginx
cd /usr/local/src
Download and unzip pcre-8.36.tar.gz:
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz tar zxvf pcre-8.36.tar.gz
Download and unzip zlib-1.2.8.tar.gz:
wget http://zlib.net/zlib-1.2.8.tar.gz tar zxvf zlib-1.2.8.tar.gz
Download and unzip openssl-1.0.1g.tar.gz:
wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz tar zxvf openssl-1.0.1g.tar.gz
Download and unzip nginx-1.4.7 .tar.gz:
wget http://nginx.org/download/nginx-1.4.7.tar.gz tar zxvf nginx-1.4.7.tar.gz
Install Nginx
vi /usr/bin/pod2man #注释第69行 cd /usr/local/src/nginx-1.4.7 ./configure --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-pcre=/usr/local/src/pcre-8.36 \ --with-zlib=/usr/local/src/zlib-1.2.8 \ --with-openssl=/usr/local/src/openssl-1.0.1g
Start nginx
cd /usr/local/nginx ./sbin/nginx
Browser access: http://localhost
Configure nginx.conf and let Nginx process it through PHP's FastCGI To request, first go to the nginx installation directory cd /usr/local/nginx, modify the vi conf/nginx.conf file, and find the following content:
Uncomment, and then change /scripts$fastcgi_script_name to $document_root$fastcgi_script_name
New A php file
cd /usr/local/nginx/html vi index.php
<?php echo phpinfo(); ?>
Start php-fpm, restart nginx
/usr/local/php/sbin/php-fpm /usr/local/nginx/sbin/nginx -s reload
Browser visit http://127.0.0.1/index.php
5. Install MySQL
Download:
cd /usr/local/src wget http://mirrors.sohu.com/mysql/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.7.tar.gz
First install cmake:
yum -y install cmake
Add a user and group named "mysql":
groupadd mysql useradd -r -g mysql mysql
Unzip mysql-cluster-gpl-7.4.7.tar.gz:
tar zxvf mysql-cluster-gpl-7.4.7.tar.gz
cmake command As follows:
cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DMYSQL_TCP_PORT=3306 \ -DMYSQL_UNIX_ADDR=/usr/local/mysql/run/mysql.sock \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_SSL=yes
Install MySQL:
make && make install
The installation will take a while, you can have a cup of tea
Initialize the database, first change the directory to the MySQL installation directory:
cd /usr/local/mysql/
Then change the user and group of all files in the installation directory to mysql
chown -R mysql . chgrp -R mysql .
Initialize the database:
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql
Then change the user of all files in the directory to "root", and then change the directory "data ” is changed to “mysql” (this step is very important, otherwise the database may not be able to operate this directory):
chown -R root . chown -R mysql data chown -R mysql data/mysql chown -R mysql.mysql /usr/local/mysql/data
Copy the MySQL configuration file to the configuration file directory “/etc/” and ask if To overwrite the source file, enter "yes":
cp support-files/my-medium.cnf /etc/my.cnf
To set up MySQL
I set it as the "run/" folder in the installation directory, so I need to set the user of this folder to "mysql ":
chown -R mysql ./run
The next step is the most iconic step, running the MySQL daemon:
bin/mysqld_safe --user=mysql &
Set a password for the "root" account in the MySQL database:
./bin/mysqladmin -u root password '123456'
Use the "root" account to enter MySQL In the management system:
./bin/mysql -u root -p
Just enter the password when the prompt pops up. The interface after entering should be similar to this:
Congratulations, you have successfully set up the Lnmp environment.
Summary:
Linux: CentOS-7-x86_64-DVD-1503-01.iso
PHP: php-5.6.11.tar.gz
Nginx: nginx-1.4.7
MySQL: mysql-cluster -gpl-7.4.7.tar.gz
If you have any questions, please ask them in the original comments. Please indicate the source when reprinting (original website):
The above introduces the Lnmp environment construction, including the relevant aspects. I hope it will be helpful to friends who are interested in PHP tutorials.