转载:https://blog.csdn.net/weixin_37998647/article/deta
安装依赖包:
#yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel libpng-devel libjpeg-devel freetype freetype-devel
1
创建www用户:
#groupadd www
#useradd -g www -s /sbin/nologin -M www
1
2
一、安装Nginx1.12.1:
centos6.8的镜像带的Nginx版本是1.12.1
#yum install -y nginx
#/etc/init.d/nginx start
1
2
二、安装mysql5.7.20:
#wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm
#rpm -Uvh mysql57-community-release-el6-9.noarch.rpm
#yum install mysql-community-server
#service mysqld start
#grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}'
#mysql -uroot -p
mysql>set global validate_password_policy=0;
mysql>set global validate_password_length=6;
mysql>SET PASSWORD FOR 'root'@'localhost' =PASSWORD('**');
1
2
3
4
5
6
7
8
9
三、安装PHP7.2.0
3.1源码编译安装
#wget rm -php-7.2.0.tar.xz
#tar xvJf php-7.2.0.tar -C /usr/local/
#cd /usr/local/php-7.2.0
#./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-ftp --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts --with-libdir=lib64
make
make install
1
2
3
4
5
6
7
上面configure步骤,可能会因为缺少依赖包而报错,我这台机器安装过其他一些其他的包,不同的机器情况可能不一样,在编译的时候根据报错信息
用yum search 查找依赖包并安装,编译完成之后是没有error的!!!
make install 完成后也是没有error的才可以进行后面的步骤。
3.2 配置PHP
#cp /usr/local/php-7.2.0/php.ini-development /usr/local/php/etc/php.ini
1
#cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
1
#cp /usr/local/php-7.2.0/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
1
#chmod +x /etc/init.d/php-fpm
1
#cp /usr/local/php/etc/php-fpm.d/www.conf.default/usr/local/php/etc/php-fpm.d/www.conf
1
3.3启动php-fpm
/etc/init.d/php-fpm start
Starting php-fpm done
1
2
3.4添加 PHP 命令到环境变量
vim ~/.bash_profile
cat ~/.bash_profile
.bash_profile
Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/php/bin
export PATH
1
2
3
4
5
6
7
8
9
10
11
12
13
14
使之生效:
#. ~/.bash_profile
1
3.5查看PHP版本:
php -v
PHP 7.2.0 (cli) (built: Dec 17 2017 19:58:31) ( ZTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
1
2
3
4
3.6测试结果:
vim /usr/share/nginx/html/a.php
phpinfo();
?>
1
2
3
4
vim /etc/nginx/conf.d/default.conf
cat /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#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;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Nginx配置文件修改的地方(在server里面添加 index.php格式的文件。增加一个location模块)
重新加载Nginx,重启php-fpm
/etc/init.d/nginx restart
Stopping nginx: [ OK ]
Starting nginx: [ OK ]
/etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
1
2
3
4
5
6
测试:
curl 192.168.1.185/a.php
1
或者直接到网页上访问。
至此,lnmp环境搭建成功