Ali云CentOS下LNMP环境搭建

 

图片 1

  1. 编写制定nginx运转脚本

    vi /etc/init.d/nginx //出席如下内容
    #!/bin/bash
    # chkconfig: 35 30 21 //3级别 5级别 能够参考/etc/init.d/iptables
    # description: http service.
    # Source Function Library
    . /etc/init.d/functions
    # Nginx Settings

    NGINX_SBIN=”/usr/local/nginx/sbin/nginx” //注意路径
    NGINX_CONF=”/usr/local/nginx/conf/nginx.conf” //注意路径
    NGINX_PID=”/usr/local/nginx/logs/nginx.pid” //注意路径
    RETVAL=0
    prog=”Nginx”

    start() {
    echo -n $”Starting $prog: ”
    mkdir -p /dev/shm/nginx_temp
    daemon $NGINX_SBIN -c $NGINX_CONF
    RETVAL=$?
    echo
    return $RETVAL
    }

    stop() {
    echo -n $”Stopping $prog: ”
    killproc -p $NGINX_PID $NGINX_SBIN -TERM
    rm -rf /dev/shm/nginx_temp
    RETVAL=$?
    echo
    return $RETVAL
    }

    reload(){
    echo -n $”Reloading $prog: ”
    killproc -p $NGINX_PID $NGINX_SBIN -HUP
    RETVAL=$?
    echo
    return $RETVAL
    }

    restart(){
    stop
    start
    }

    configtest(){
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
    }

    case “$1″ in
    start)
    start
    ;;
    stop)
    stop
    ;;
    reload)
    reload
    ;;
    restart)
    restart
    ;;
    configtest)
    configtest
    ;;
    *)
    echo $”Usage: $0 {start|stop|reload|restart|configtest}”
    RETVAL=1
    esac
    exit $RETVAL

    保存后,执行
    chmod a+x /etc/init.d/nginx
    chkconfig –add nginx
    chkconfig nginx on
    chkconfig –list nginx
    killall httpd
    service nginx start

LNMP环境搭建,lnmp搭建

LNMP环境搭建

Linux + Nginx + MySQL + PHP

PHP是一种脚本语言,当前华夏乃至社会风气上接纳PHP语言开发的网站非常广泛

Nginx是贰个web服务软件,和apache是一类软件,如今应用nginx的店堂更是多。

MySQL是方今最为盛行的袖珍关系型数据库

和LAMP分裂的是LNMP中的N指的是Nginx(类似于Apache的一种web服务软件)其余都一模一样。近年来那种环境应用的也是不行之多。Nginx设计的初衷是提供一种高效便捷多产出的web服务软件。在静态页面包车型地铁处理上Nginx的确胜Apache一筹,但是在动态页面包车型大巴拍卖上Nginx并不比Apache有多少优势。可是,如今照旧有过多头疼友对Nginx相比热衷,随着Nginx的技巧逐步成熟,它在web服务软件领域的身份进一步高。

安装MySQL

步骤和LAMP中的mysql安装步骤是一模一样的。

1,下载mysql到/usr/local/src/

[[email protected]]#wget

这是六13个人的包,叁10个人系统要用3三个人的包:

2, 解压下载的包

[[email protected]
src]# tar -xvzf mysql-5.1.40-linux-x86_64-icc-glibc23.tar.gz

3,把解压的包活动到/usr/local/并改名换姓为mysql

[[email protected]
src]# mv mysql-5.1.40-linux-x86_64-icc-glibc23 /usr/local/mysql

4,建立mysql用户

[[email protected]
src]# useradd -s /sbin/nologin mysql

5,建立mysql数据库文件夹,并修改所属主和所属组

[[email protected]
mysql]# mkdir -p /data/mysql ; chown -R  mysql:mysql /data/mysql

6,开首化数据库

[[email protected]
mysql]# ./scripts/mysql_install_db –user=mysql
–datadir=/data/mysql

./scripts/mysql_install_db 那一个文件是数据库文件夹里的文书,–user
定义数据库的所属主, –datadir
定义数据库安装到哪个地方,建议放权大空间的分区上,那个目录要求活动创造,执行后假若看到两个“OK” 表达履行科学。出标题可依据标题来消除(最终附难点化解办法!)

7, 拷贝配置文件

[[email protected]
mysql]# cp support-files/my-large.cnf  /etc/my.cnf

8, 拷贝运维脚本文件并修改其性质

[[email protected]
mysql]# cp support-files/mysql.server  /etc/init.d/mysqld

[[email protected]
mysql]# chmod 755 /etc/init.d/mysqld

9, 修改运转脚本

[[email protected]
mysql]# vim /etc/init.d/mysqld

急需修改的地点有 “datadir=/data/mysql” (前边先河化数据库时定义的目录)

把运转脚本参与体系服务项,并设定开机运营,运转mysql

[[email protected]
mysql]# chkconfig –add mysqld

[[email protected]
mysql]# chkconfig mysqld on

[[email protected]
mysql]# service mysqld start

一旦开发银行不了,到 /data/mysql/ 下查看错误日志,这一个日志平时是主机名.err.
检查mysql是还是不是运营的一声令下为:

[[email protected]
mysql]# ps aux |grep mysqld

 

安装php

此地要先表明一(Wissu)下,针对Nginx的php安装和针对apache的php安装是有分其余,因为Nginx中的php是以fastcgi的格局结合nginx的,可以清楚为nginx代理了php的fastcgi,而apache是把php作为协调的模块来调用的。在LNMP中,安装PHP在此之前必需先安装mysql,其余的远非先后顺序。php官方下载地址:

1.下载php

[[email protected]
src]# wget

2.解压php

[[email protected]
src]# tar -xvzf php-5.3.27.tar.gz

3.创立连锁账户

[[email protected]
src]# useradd -s /sbin/nologin php-fpm

4.布置编写翻译参数

[r[email protected]
src]# cd php-5.3.27

[[email protected]
php-5.3.27]# make clean

此命令为了清除在此之前安装PHP时生成的局地文本,幸免与事先的编写翻译混淆。

[[email protected]
php-5.3.27]# ./configure –prefix=/usr/local/php_nginx
–with-config-file-path=/usr/local/php_nginx/etc –enable-fpm
–with-fpm-user=php-fpm –with-fpm-group=php-fpm
–with-mysql=/usr/local/mysql –with-mysql-sock=/tmp/mysql.sock

–with-libxml-dir –with-gd –with-jpeg-dir –with-png-dir
–with-freetype-dir –with-iconv-dir –with-zlib-dir  –with-mcrypt
–enable-soap –enable-gd-native-ttf –enable-ftp  –enable-mbstring
–enable-exif –enable-zend-multibyte –disable-ipv6 –with-pear
–with-curl –with-openssl

配备参数里和在此以前的有点差异,–enable-fpm必备加上,不加不或然生成fpm文件。–with-config-file-path是钦点php配置文件的路子,即php.ini的不二法门。

错误音信:

configure: error: Please reinstall the libcurl distribution –

easy.h should be in <curl-dir>/include/curl/

消除办法:

yum install -y libcurl-devel

5.编译php

[[email protected] 
php-5.3.27]# make

在这一步,经常会遇见有的荒谬

/usr/bin/ld: cannot find –lltdl

collect2: ld returned 1 exit status

make: *** [sapi/fpm/php-fpm] 错误 1

化解办法:

yum install -y libtool-ltdl-devel

6.安装php

[[email protected]
php-5.3.27]# make install

上述每二个手续,假设没有完全履行科学,那么下一步是心有余而力不足开始展览的,是不是还记得判断执行是或不是科学的点子?
使用 echo $? 看结果是还是不是为 “0” , 即使不是,正是从未执行科学。

7.拷贝配备文件

[[email protected]
php-5.3.27]# cp php.ini-production /usr/local/php_nginx/etc/php.ini

[[email protected]
php-5.3.27]# cp sapi/fpm/php-fpm.conf /usr/local/php_nginx/etc/

保存配置文件后,检验配置是或不是科学的情势为:

/usr/local/php_nginx/sbin/php-fpm -t

只要出现诸如 “test is successful” 字样,表明配置没反常。

8.启动php-fpm

先拷贝运维文件 cp /usr/local/src/php-5.3.27/sapi/fpm/init.d.php-fpm
/etc/init.d/php-fpm

chmod 755 /etc/init.d/php-fpm

service php-fpm start

倘诺想让它开机运维,执行:

chkconfig php-fpm on

检查和测试是不是运转:

ps aux |grep php-fpm

netstat -lnp | grep php

tcp    0   0 127.0.0.1:9000    0.0.0.0:*   LISTEN      11265/php-fpm

安装nginx

Nginx官方网站(),
从官方网站能够看出nginx更新速度飞速,那也展现了三个真相,近来采纳nginx跑网站的营业所仍然个体愈来愈多。

(近来nginx报出一个安全漏洞,影响版本很广
CVE-二〇一二-4547,所以此前的老版本都亟需升级一下, 1.4.4,
1.5.7以及以后版本没有毛病)

1.下载nginx

cd /usr/local/src/

wget

2.解压nginx

tar -xvzf nginx-1.6.2.tar.gz

3.安顿编写翻译参数

cd nginx-1.4.4

./configure –prefix=/usr/local/nginx –with-pcre

编排进程中失误:

checking for PCRE library … not found

checking for PCRE library in /usr/local/ … not found

checking for PCRE library in /usr/include/pcre/ … not found

checking for PCRE library in /usr/pkg/ … not found

checking for PCRE library in /opt/local/ … not found

  贫乏pcre ,pcre用来支撑正则表明式,消除办法:

  yum install -y pcre-devel

4.编译nginx

make

5.安装nginx

make install

因为nginx相比小,所以高速就会安装完,而且也不会出什么错误。

  1. 运行nginx,nginx很精细,自身没有运营服务文件。

/usr/local/nginx/sbin/nginx

查看:ps aux | grep nginx

      netstat -lnp | grep nginx

测试:从浏览器直接待上访问本机IP

7.更改nginx配置

安插文件地方:/usr/local/nginx/conf/nginx.conf

vim /usr/local/nginx/conf/nginx.conf

修改:

events {

    worker_connections  4096;

}

以此值一般调成十分的大的数。

 

“server { }”相关铺排便是虚拟主机,server里面包车型大巴“location”供给改:

location / {

            root   /web/123;

            index  index.html index.htm index.php;

        }

root内定虚拟主机的目录,这里换来LAMP时设置的discuz的目录。把下部location和php相关的始末打开,并修改:

       location ~ \.php$ {

            root           /web/123;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME 
/web/123$fastcgi_script_name;

            include        fastcgi_params;

 

保留配置后,先验证一下布置文件是或不是有错误存在:

/usr/local/nginx/sbin/nginx  -t

尽管彰显内容如下,则安插不错,不然需求依照错误提醒修改配置文件:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is
ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is
successful

再一次加载nginx:

/usr/local/nginx/sbin/nginx -s reload

一旦无法运行,请查看 “/usr/local/nginx/logs/error.log” 文件

LNMP 环境搭建 Linux +
Nginx + MySQL + PHP
PHP是一种脚本语言,当前中夏族民共和国甚至世界上选择PHP语言开发的网站极度广泛
Nginx是一…

yum install zlib

图片 2

 

执行命令,果然是从未有过devel,输入y继续设置到位,实现之后再一次实施安装命令:

查阅gcc安装情状

 

本次算是安装实现了,简直一波三折:

好麻烦,好累,好坑啊!!!!

cli:[php CLI情势介绍]
cli是php的命令行运转格局,我们平日会选择它,然而或许并没有留神到(例如:大家在linux下平常使用
“php -m”查找PHP安装了这几个增加正是PHP命令行运维形式;

上述荒唐说找不到C编写翻译器,那就给你装个编写翻译器,输入指令:

图片 3

 

./sbin/php-fpm

netstat -tunlp   //查看正在运行的服务或软件
# systemctl start mysqld
root@steven php-5.4.37]# ls sapi/
aolserver       caudium     fpm        phttpd  tux
apache          cgi         isapi      pi3web  webjames
apache2filter   cli         litespeed  roxen
apache2handler  continuity  milter     tests
apache_hooks    embed       nsapi      thttpd

html 主要放置网页文件

# ./configure --prefix=/usr/local/nginx \
--pid-path=/usr/local/nginx/run/nginx.pid \
--with-http_ssl_module \
--user=nginx \
--group=nginx \
--with-pcre \
--without-mail_pop3_module \
--without-mail_imap_module \
--without-mail_smtp_module

 

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)    //这是因为你的80端口已经被占用,启动nginx的时候冲突

netstat -tunlp   //查看正在运行的服务或软件

最后三项为禁用nginx作为邮件代理服务器,建议想搭建邮件服务器的同志去阅读nginx搭建邮件服务器的教程。
检查./configure结果,看看有没有报错,有没有缺点和失误模块,要是一切OK,那么往下继续,要是感到难堪,能够用./configure
–help认真读书一下。

 

apache一般是把php当做自身的三个模块来运营的,而nginx则是把http请求变量转发给php进度,即将php当做1个独立进度与nginx进行通讯,称为
fastcgi运转格局):

# /etc/init.d/php-fpm start

 

yum install libxml2-devel

查看make是或不是安装

tar zxf php-5.3.28.tar.gz
cd php-5.3.28
./configure
–prefix=/usr/local/php //这么些一定要加
–with-apxs2=/usr/local/apache2/bin/apxs //一定要加 结合apache
要先安装perl否则会报错

唤醒笔者Nothing to do…再来一条命令:

yum install pcre pcre-devel

⑤ 、php安装进度中缺点和失误依赖文件,查看一下然后安装

图片 4

OpenSSL:

 

 yum -y install gcc gcc-c++ autoconf automake make
# mysql_secure_installation

 

nginx的体量比apache小的多,所以编写翻译所需时间也非常短.编写翻译完结后切换成/usr/local/nginx目录将看到八个目录:

PCRE库:

vim /usr/local/nginx/html/1.php
增加
<?php
phpinfo();
?>

make && make install

图片 5

SAPI:Server Application Programming Interface
服务器端应用编制程序接口。它正是PHP与此外应用交互的接口,PHP脚本要实行有很各类方法,通过Web服务器,只怕直接在指令行下,也得以松开在其余程序中。
SAPI提供了贰个和表面通讯的接口,常见的SAPI有:cgi
、fast-cgi、cli、isapi、apache 模块的 DLL

make && make install

Nginx必要PCRE(Perl Compatible Regular
Expression),因为Nginx的Rewrite模块和Http宗旨模块都会选取到PCRE正则表明式语法。其下载地址为

 建华的设置脚本也有

想运营nginx的话只需求输入指令:

设置成功后就OK了。

然则web那台的mysql能够不运转mysql服务

yum install pcre-devel

location ~ \.php$ {
            root          html;
            fastcgi_pass  127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME 
/$document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

同五个目录下四个公文供给mv

./configure --prefix=/usr/local/nginx

配备不错后实施:

 

果然又是贫乏devel,安装到位后再次编写翻译,达成后别忘记:

图片 6

libphp5.so:只是二个模块

注意:假如您在前边早已设置了apache的话,那时候只怕会报3个荒唐,

查阅pcre安装景况


图片 7

图片 8

 

sbin 首要放二进制造进程序

图片 9

 

编译时索要留意或许会提示错误,如缺少有些包,那时候像上边安装nginx一样的老路,比如本人遇见未找到libxml2的谬误,直接下令:

检查mysql源是还是不是安装成功 

 

输入指令居然又提醒小编早就设置了pcre库,Nothing to do…

#  yum repolist enabled | grep “mysql.-community.”

configure: error: jpeglib.h not found.
yum install libjpeg-devel -y

 找到占用80端口的软件如故服务将其关闭即可,之后再输入./sbin/nginx 命令,倘使人品日常的话应该已经屡见不鲜运维了.

PATH=$PATH:/usr/local/php/bin
export PATH

安装nginx

一 、在Linux系统下nginx的装置进程,先到:

# wget https://nginx.org/download/nginx-1.10.1.tar.gz
# tar zxf nginx-1.10.1.tar.gz
# cd nginx-1.10.1/

apache自始至终都是httpd进度在推行,只是加载了php模块,拥有php脚本解析效率

./configure --prefix=/usr/local/php --with-mysql=mysqlnd --enable-mysqlnd --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --enable-fpm

启航完之后查看mysql状态

懒汉方式  

conf 首要放置配置文件  

下一场继续回车:

恢宏阅读

那时候就要检查一下pcre-devel是不是已安装了,同样输入指令:

安装g++:

PCRE 库 正则须要用 nginx php

说到底执行编写翻译命令:

图片 10

壹 、php配置参数–with-mysql=/usr/local/mysql 

先到PHP官网找到须求的版本将削减包下载下来,那里以php-5.6版本为例上流传服务器/usr/local/src/目录下,进入到命令行情势,输入指令:

慎选否之后,继续回车下一步:

若果原先早已安装过php,必须钦赐三个见仁见智的名字,以防覆盖此前设置的php,比如改名为/usr/local/php-fpm
,/usr/local/php-fpm/etc

结果大失所望又报了一个错:

接下去要实行编写翻译前的配置,我们须要提供php-fpm相关参数

 

 

查看php版本:

 

解压之后进展编译,编译的时候要求添加有的协理,如mysqlnd、ttf、gd等(ps:Apache+PHP的编写翻译安装和nginx+PHP的安装是见仁见智的,

笔录下在Ali云CentOS下LNMP环境搭建进程,首先,必要安装C语言的编写翻译环境,因为Nginx是C语言编写的。通常大部分Linux都会默许安装GCC,假若没有的话,能够如下安装。

configure: error: Please reinstall the libcurl distribution -easy.h
should be in <curl-dir>/include/curl/
yum install -y libcurl-devel

三、安装PHP:

要使改动立即生效实施:

 

实施完后再使用安装命令 ./configure
–prefix=/usr/local/nginx 已经不报上述荒唐啊,可是又提醒了1个新的错误:

#  tar -xvf php7.tar.gz

 

图片 11

执行./configure,把软件设置到/usr/local目录,用conf、etc、sbin、run等进行分类管理。

 

yum install mysql mysql-devel mysql-server

图片 12

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注