您的位置:新葡亰496net > 电脑系统 > 在阿里云Centos下LNMP环境搭建

在阿里云Centos下LNMP环境搭建

发布时间:2019-12-29 22:52编辑:电脑系统浏览(57)

     首先,需要安装C语言的编译环境,因为Nginx是C语言编写的。通常大多数Linux都会默认安装GCC,如果没有的话,可以如下安装。

    CentOS7 安装LNMP(Linux Nginx MySQL PHP),centos7lnmp

    安装make:

     

       yum -y install gcc automake autoconf libtool make

     

    安装g :

     

    yum install gcc gcc-c

    1.选定源码目录
    可以是任何目录,本文选定的是/usr/local/src

     

    cd /usr/local/src

     

    2.安装PCRE库
    ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 下载最新的 PCRE 源码包,使用下面命令下载编译和安装 PCRE 包:

     

    cd /usr/local/src

    wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz

    tar -zxvf pcre-8.40.tar.gz

    cd pcre-8.40

    ./configure

    make

    make install

     

    3.安装zlib库www.zlib.net/zlib-1.2.11.tar.gz
     下载最新的 zlib 源码包,使用下面命令下载编译和安装 zlib包:

     

    cd /usr/local/src

     

    wget

    tar -zxvf zlib-1.2.11.tar.gz

    cd zlib-1.2.8

    ./configure

    make

    make install

     

    4.安装ssl(某些vps默认没装ssl)

     

    cd /usr/local/src

    wget

    tar -zxvf openssl-1.0.2c.tar.gz

    ./config

    make

    make install

     

    5.安装nginx

    Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:

    cd /usr/local/src

    wget

    tar -zxvf nginx-1.4.2.tar.gz

    cd nginx-1.4.2

     

    ./configure --sbin-path=/usr/local/nginx/nginx

    --conf-path=/usr/local/nginx/nginx.conf

    --pid-path=/usr/local/nginx/nginx.pid

    --with-http_ssl_module

    --with-pcre=/usr/local/src/pcre-8.38

    --with-zlib=/usr/local/src/zlib-1.2.8

    --with-openssl=/usr/local/src/openssl-1.0.1c

     

    make

    make install

    注意:

      --with-pcre=/usr/src/pcre-8.34 指的是pcre-8.34 的源码路径。
      --with-zlib=/usr/src/zlib-1.2.8 指的是zlib-1.2.8 的源码路径。

     

    安装成功后 /usr/local/nginx 目录下如下

    fastcgi.conf            koi-win             nginx.conf.default

    fastcgi.conf.default    logs                scgi_params

    fastcgi_params          mime.types          scgi_params.default

    fastcgi_params.default  mime.types.default  uwsgi_params

    html                    nginx               uwsgi_params.default

    koi-utf                 nginx.conf          win-utf

     

     

    6.启动
    确保系统的 80 端口没被其他程序占用,运行/usr/local/nginx/nginx 命令来启动 Nginx,

    netstat -ano|grep 80

     

    启动nginx

    /usr/local/nginx/nginx

     

     

     

    安装PHP-FPM

     

    安装前准备
    centos下执行

    yum -y install gcc automake autoconf libtool make

    yum -y install gcc gcc-c glibc

     

    yum -y install libmcrypt-devel mhash-devel 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 krb5-devel libidn libidn-devel openssl openssl-devel

     

     

     

     

    新版php-fpm安装(推荐安装方式)

    wget

    tar zvxf php-5.6.18.tar.gz

    cd php-5.6.18

    ./configure --prefix=/usr/local/php  --enable-fpm --with-mcrypt

    --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

     

    make all install

     

    在阿里云Centos下LNMP环境搭建。下面是对php-fpm运行用户进行设置

    cd /usr/local/php

    cp etc/php-fpm.conf.default etc/php-fpm.conf

    vi etc/php-fpm.conf

    修改
    user = www-data
    group = www-data

    如果www-data用户不存在,那么先添加www-data用户
    groupadd www-data
    useradd -g www-data www-data

     

    修改nginx配置文件以支持php-fpm

    nginx安装完成后,修改nginx配置文件为,nginx.conf

     

    其中server段增加如下配置,注意标红内容配置,否则会出现No input file specified.错误

    # 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 $document_root$fastcgi_script_name;
    include fastcgi_params;
    }

    创建测试php文件

    创建php文件

    在/usr/local/nginx/html下创建index.php文件,输入如下内容

    <?php

        echo phpinfo();

    ?>

     

     

     

     

    启动服务

      Ngnix:

         /usr/local/nginx/nginx   端口:80

      Php:

    /usr/local/php/sbin/php-fpm  端口:9000

     

     

     

     

    CentOS7.0下源码安装mysql5.6

    一、安装依赖包.

    1、yum install gcc gcc-c  ncurses-devel

    2、下载cmake源码包cmake-2.8.5.tar.gz

    解压tar zxvf cmake-2.8.5.tar.gz

     

    ./bootstrap

    Gmake or make        这里用make就行

    Make install

    二、解压源码包

    1.tar -zxvf mysql-5.6.18.tar.gz

    2.

    在源码包里,编辑文件 cmd-line-utils/libedit/terminal.c
    把terminal_set方法中的 char buf[TC_BUFSIZE]; 这一行注释,再把 area = buf;改为 area = NULL;
    更改后如下

    protected int terminal_set(EditLine *el, const char *term) { int i; /*char buf[TC_BUFSIZE];*/ char *area; const struct termcapstr *t; sigset_t oset, nset; int lins, cols; --phpfensi.com (void) sigemptyset(&nset); (void) sigaddset(&nset, SIGWINCH); (void) sigprocmask(SIG_BLOCK, &nset, &oset);  area = NULL;

    然后重新编译即可

     

    三、编译 安装

    1.执行cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.6/ -DMYSQL_DATADIR=/usr/local/mysql5.6/data  -DSYSCONFDIR=/usr/local/mysql5.6/  -DWITH_INNOBASE_STORAGE_ENGINE=1  -DWITH_ARCHIVE_STORAGE_ENGINE=1  -DWITH_BLACKHOLE_STORAGE_ENGINE=1  -DWITH_FEDERATED_STORAGE_ENGINE=1  -DWITH_PARTITION_STORAGE_ENGINE=1  -DMYSQL_UNIX_ADDR=/usr/local/mysql5.6/mysqld.sock -DMYSQL_TCP_PORT=3306  -DENABLED_LOCAL_INFILE=1  -DEXTRA_CHARSETS=all  -DMYSQL_USER=mysql

    2.make

    3.make install

    4.创建mysql用户

    useradd mysql

    四、更换配置文件路径

    进入mysql5.4源码包:

    #conf

     cp support-files/my-default.cnf /usr/local/mysql5.6/my.cnf

    五、安装mysql的权限表

    进入/usr/local/mysql5.6/scripts/目录下面的,执行

    5.1 chmod 777 mysql_install_db

    5.2 yum install perl-Module-Install.noarch

    ./mysql_install_db --basedir=/usr/local/mysql5.6/ --datadir=/usr/local/mysql5.6/data --defaults-file=/usr/local/mysql5.6/my.cnf --user=mysql

    # 一定要指定配置文件的路径--defaults-file=/usr/local/mysql5.6/my.cnf

    六、更改目录权限
    chown -R mysql.mysql /usr/local/mysql5.6

    七、MySQL启动

    7.1 cp support-files/mysql.server /etc/init.d/mysql

    7.2 chmod 777 /etc/init.d/mysql

    7.3重命名 mv /etc/my.cnf my.cnf.bak

    7.4 service mysql start

    7.5 开机自启动

    /sbin/chkconfig mysql on

    八、登录
    /usr/local/mysql5.6/bin/mysql 回车执行

     

     Use mysql;

     

    1) 接上步,修改mysql密码(可不做此步,默认无密码)

     

     

    mysql>UPDATE user SET

    password=PASSWORD('123456')

    WHERE user='root';

    2)。允许任意连接

    host字段给成%

     

    mysql>UPDATE user SET

    host=’%’

    WHERE user='root';

     

     

     

    mysql>flush privileges;

     

     

     

     

    新葡亰496net, 

     

    PDO  打模块

     

    /usr/local/php/bin/phpize

    ./configure --with-php-config=/usr/local/php/bin/php-config

     

    ./configure--with-php-config=/usr/local/php/bin/php-config  --with-freetype-dir=/usr/local/freetype

     

       打pdo_mysql模块 用以下

    ./configure --with-php-config=/usr/local/php/bin/php-config  --with-pdo-mysql=/usr/local/mysql5.6

     

     

    extension=pdo.so

    extension=pdo_mysql.so

     

    安装LNMP(Linux Nginx MySQL PHP),centos7lnmp 安装 make : yum -y install gcc automake autoconf libtool make 安装 g : yum install gcc gcc-c 1. 选定源码目录...

    安装make:

    yum -y install gcc automake autoconf libtool make
    

    查看make是否安装

    新葡亰496net 1

    安装g :

    yum install gcc gcc-c  
    

    查看gcc安装情况

    新葡亰496net 2

    PCRE库:

    Nginx需要PCRE(Perl Compatible Regular Expression),因为Nginx的Rewrite模块和Http核心模块都会使用到PCRE正则表达式语法。其下载地址为,我们也可以通过yum来安装。

    yum install pcre pcre-devel
    

    查看pcre安装情况

    新葡亰496net 3

    zlib库:

    zlib库提供了压缩算法,Nginx很多地方都会用到gzip算法。其下载地址为,也可以通过yum安装。

    yum install zlib zlib-devel
    

    查看zlib安装情况

    新葡亰496net 4

    OpenSSL:

    Nginx中如果服务器提供安全页面,就需要用到OpenSSL库。其下载地址为,也可以通过yum安装。

    # yum -y install gcc gcc-c   autoconf automake libtool make cmake
    # yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
    
    查看openssl安装情况
    
    创建nginx用户组
    
    # groupadd nginx
    # useradd -g nginx -M nginx
    # vi /etc/passwd
    

    找到nginx,将后面的/bin/bash改为/sbin/nologin就不让ssh登录了(vi打开文件后是命令模式状态,要用i或者a命令才可进入可编辑的状态,保存文件要按esc,这样就会退回vi的命令模式。按完esc后输入冒号(英文的),然后就转换到了末行模式了,末行模式决定是否保存文件。末行模式下可以按x来保存,x命令可以保存编辑好的文件。也可以用到wq来保存,如果是q!则不保存,)

    编译安装Nginx

    进入nginx官网,找到最新版本的tar.gz包的链接,执行以下动作。

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

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

    # ./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作为邮件代理服务器,建议想搭建邮件服务器的同志去阅读nginx搭建邮件服务器的教程。
    检查./configure结果,看看有没有报错,有没有缺少模块,如果一切OK,那么往下继续,如果感觉不对,可以用./configure –help认真阅读一下。

    # make
    # make install
    

    安装完了,但是nginx还没有运行

    # cd /usr/local/nginx
    # ls
    # sbin/nginx
    

    运行Nginx:

    Nginx会默认安装在/usr/local/nginx目录,我们cd到/usr/local/nginx/sbin/目录,存在一个Nginx二进制可执行文件。直接运行就可以启动Nginx。运行成功后打开浏览器访问此机器的IP,出现如下画面即为成功。

    新葡亰496net 5

    安装mysql
    
    直接使用yum命令下载mysql5.6来进行安装是不能成功的,安装过程会有问题,这里我们需要使用rpm命令来先进下载。
    下载路径为:http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
    

    检查mysql源是否安装成功 

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

    新葡亰496net 6

    出现这个就表示安装成功了

    安装mysql

     # yum install mysql-community-server
    

    新葡亰496net 7

    新葡亰496net 8

    这个过程中会提示安装一些相关的软件,点击“y”就可以了。

    这样mysql就安装成功了

    然后启动mysql

    # systemctl start mysqld
    

    启动完之后查看mysql状态

    systemctl status mysqld
    

    新葡亰496net 9

    出现上面的这个,那么恭喜你,你已经成功的安装完毕了mysql。

    设置开机启动

    # systemctl enable mysqld 
    
    # systemctl daemon-reload
    

    将mysql启动之后,开始进行一些基本信息的设置。输入设置命令:

    # mysql_secure_installation
    

    新葡亰496net 10

    然后继续回车:

    新葡亰496net 11

    设置之后 确认密码,然后回车:

    新葡亰496net 12

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

    新葡亰496net 13

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

    新葡亰496net 14

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

    新葡亰496net 15

    设置成功后就OK了。

    至此mysql就安装成功了。

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

     安装php7

    下载php7源码包

    #  wget -O php7.tar.gz http://cn2.php.net/get/php-7.0.1.tar.gz/from/this/mirror
    

    解压源码包

    #  tar -xvf php7.tar.gz
    

    进入目录

    # cd php-7.0.1
    

    安装php 依赖包

    #  yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
    

    接下来要进行编译前的配置,我们需要提供php-fpm相关参数

    # ./configure --prefix=/usr/local/php --with-config-file-path=/etc --enable-fpm --with-fpm-user=nginx  --with-fpm-group=nginx --enable-inline-optimization --disable-debug --disable-rpath --enable-shared  --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir  --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear --enable-opcache
    

    配置无误后执行:

    # make
    # make install
    

    新葡亰496net 16

    添加 PHP 命令到环境变量:

    # vim /etc/profile
    

    在末尾加入:

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

    要使改动立即生效执行:

    # source /etc/profile
    

    查看环境变量:

    # echo $PATH
    

    新葡亰496net 17

    可以看到php的bin目录已经在环境变量里面了

    查看php版本:

    # php -v
    

    新葡亰496net 18

    配置php-fpm:

    # cp php.ini-production /etc/php.ini
    # cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    # cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
    # cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    # chmod  x /etc/init.d/php-fpm
    

    由于php-fpm走的是9000端口,外网是无法访问的,我们需要在nginx的配置文件中增加代理的规则,即可让用户在访问80端口,请求php的时候,交由后端的fpm去执行。

    启动php-fpm:

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

    新葡亰496net 19

    配置nginx虚拟机:

    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;
            }
    

    将script 改为$document_root即可。

    重启nginx:

    # service nginx reload
    

    然后就OK了。

    本文属原创内容,为了尊重他人劳动,转载请注明本文地址:

    http://www.cnblogs.com/luokakale/p/9056222.html

    本文由新葡亰496net发布于电脑系统,转载请注明出处:在阿里云Centos下LNMP环境搭建

    关键词: