阿里云CentOS下LNMP环境搭建

85530494 2018-05-20

记录下在阿里云CentOS下LNMP环境搭建过程,首先,需要安装C语言的编译环境,因为Nginx是C语言编写的。通常大多数Linux都会默认安装GCC,如果没有的话,可以如下安装。

安装make:

yum -y install gcc automake autoconf libtool make

查看make是否安装

阿里云CentOS下LNMP环境搭建

安装g++:

yum install gcc gcc-c++

查看gcc安装情况

阿里云CentOS下LNMP环境搭建

PCRE库:

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

yum install pcre pcre-devel

查看pcre安装情况

阿里云CentOS下LNMP环境搭建

zlib库:

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

yum install zlib zlib-devel

查看zlib安装情况

阿里云CentOS下LNMP环境搭建

OpenSSL:

Nginx中如果服务器提供安全页面,就需要用到OpenSSL库。其下载地址为http://www.openssl.org/,也可以通过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,出现如下画面即为成功。

阿里云CentOS下LNMP环境搭建

安装mysql

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

检查mysql源是否安装成功 

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

阿里云CentOS下LNMP环境搭建

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

安装mysql

# yum install mysql-community-server

阿里云CentOS下LNMP环境搭建

阿里云CentOS下LNMP环境搭建

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

这样mysql就安装成功了

然后启动mysql

# systemctl start mysqld

启动完之后查看mysql状态

systemctl status mysqld

阿里云CentOS下LNMP环境搭建

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

设置开机启动

# systemctl enable mysqld 

# systemctl daemon-reload

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

# mysql_secure_installation

阿里云CentOS下LNMP环境搭建

然后继续回车:

阿里云CentOS下LNMP环境搭建

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

阿里云CentOS下LNMP环境搭建

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

阿里云CentOS下LNMP环境搭建

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

阿里云CentOS下LNMP环境搭建

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

阿里云CentOS下LNMP环境搭建

设置成功后就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

阿里云CentOS下LNMP环境搭建

添加 PHP 命令到环境变量:

# vim /etc/profile

在末尾加入:

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

要使改动立即生效执行:

# source /etc/profile

查看环境变量:

# echo $PATH

阿里云CentOS下LNMP环境搭建

可以看到php的bin目录已经在环境变量里面了
查看php版本:
# php -v

阿里云CentOS下LNMP环境搭建

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

阿里云CentOS下LNMP环境搭建

配置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了。

相关推荐