欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

在阿里云Centos下LNMP环境搭建

程序员文章站 2022-04-20 23:05:25
首先,需要安装C语言的编译环境,因为Nginx是C语言编写的。通常大多数Linux都会默认安装GCC,如果没有的话,可以如下安装。 安装make: 查看make是否安装 安装g++: 查看gcc安装情况 PCRE库: Nginx需要PCRE(Perl Compatible Regular Expre ......

 首先,需要安装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安装情况
在阿里云Centos下LNMP环境搭建
创建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
在阿里云Centos下LNMP环境搭建

检查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了。

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

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