Home >Backend Development >PHP Tutorial >Lnmp environment setup

Lnmp environment setup

WBOY
WBOYOriginal
2016-08-08 09:19:331145browse

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): http://home.php-z.com/blog-1-39.html

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.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn