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

安装make:

yum -y install gcc automake autoconf libtool make

查看make是否安装

安装g++:

yum install gcc gcc-c++

查看gcc安装情况

PCRE库:

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

yum install pcre pcre-devel

查看pcre安装情况

zlib库:

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

yum install zlib zlib-devel

查看zlib安装情况

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,出现如下画面即为成功。

安装mysql

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

检查mysql源是否安装成功 

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

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

安装mysql

 # yum install mysql-community-server

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

这样mysql就安装成功了

然后启动mysql

# systemctl start mysqld

启动完之后查看mysql状态

systemctl status mysqld

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

设置开机启动

# systemctl enable mysqld 

# systemctl daemon-reload

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

# mysql_secure_installation

然后继续回车:

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

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

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

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

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

添加 PHP 命令到环境变量:

# vim /etc/profile

在末尾加入:

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

要使改动立即生效执行:

# source /etc/profile

查看环境变量:

# echo $PATH

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

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

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

在阿里云Centos下LNMP环境搭建的更多相关文章

  1. 阿里云(centos)下svn 服务器搭建

    安装说明 系统环境:阿里云centos安装方式:yum install subversion 检查已安装版本 #检查是否安装了低版本的SVN[root@localhost /]# rpm -qa su ...

  2. 【转存】阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3

    阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3  Posted on 2016年2月10日 by  学院君 1.Apache 配置 —————————————————– vi / ...

  3. 阿里云(ECS)Centos服务器LNMP环境搭建

    阿里云( ECS ) Centos7 服务器 LNMP 环境搭建 前言 第一次接触阿里云是大四的时候,当时在校外公司做兼职,关于智能家居项目的,话说当时俺就只有一个月左右的 php 后台开发经验(还是 ...

  4. CentOS 下 LNMP 环境配置

    安装配置 Nginx 安装配置 MySQL 安装配置 PHP Nginx 与 PHP-FPM 集成 环境配置验证   LNMP 环境代表 Linux 系统下 Nginx + MySQL + PHP 网 ...

  5. Linux下-LNMP环境搭建博客网站(全过程)

    通常我们所说的LNMP是指一个网站基本的组织框架,即Linux系统支持,Nginx静态服务,Mysql数据库支持以及PHP动态编程语言支持.目前Mysql数据库被Oracle数据库分析公司收购,其创始 ...

  6. 阿里云CentOS Linux服务器上搭建邮件服务器遇到的问题

    参考文章: 阿里云CentOS Linux服务器上用postfix搭建邮件服务器 Linux系统下邮件服务器的搭建(Postfix+Dovecot) 本来想自己搭建邮件服务器,但是看到一篇资料表示阿里 ...

  7. 阿里云centos下搭建vsftpd,被动模式出现的问题

    最近计网课设要做一个ftp服务端,所以先在自己服务器搭一个来了解一下. 首先在默认情况下连接,227 Entering Passive Mode (192,168,*,*,227,175). 显示连接 ...

  8. 阿里云ECS安装lnmp环境-转载自:http://ninghao.net/blog/1368

    远程控制你的服务器 远程控制 Linux 类型的系统的服务器,比如 CentOS 系统的服务器,一般不像 Windows 服务器那样,使用图形界面的远程控制.我们需要使用命令行工具,远程连接到服务器, ...

  9. Linux 下LNMP环境搭建_【all】

    LNMP = Linux + Nginx + Mysql + PHP 1.0 Linux环境搭建 Linux 系统安装[Redhat] 1.1. FastCGI介绍 1.什么是CGI(common g ...

随机推荐

  1. XtraBackup的备份原理与应用示例

    一.XtraBackup简介与安装 XtraBackup是一款免费的在线开源数据库备份解决方案,适用于所有版本的MySQL和MariaDB.XtraBackup支持对InnoDB热备,是一款物理备份工 ...

  2. 身份认证与加密浅谈(PKI)

    利用PKI体系解决私密文件传输中一系列问题的大体思路 背景:现有A用户和B用户之间想加密传输一些秘密文件,通过什么样的技术可以确保A和B传输数据的安全性?方案:采用对称秘钥对数据进行加密传输(对称加密 ...

  3. Django组件之cookie与session

    一.引子 http协议是无状态的,就是它不会记录请求和响应的任何信息,比如你访问一个服务器的一个网页时,先要你登录一下,然后进入网页,但当你要进入这个服务器的另一个网页时,它照常不会知道刚才你已经登录 ...

  4. C#winform窗体用户控件自定义事件

    C#许多事情都和事件有关系,大部分的事情我们可以通过C#自己的事件来完成,但如果我们自己新建了一个自定义控件,我们该如何定义自己想要的事件呢?下面我就来为大家粗略的讲解一番. 假设我们自定义了一个控件 ...

  5. c# 获取当前绝对路径

    /// <summary> /// 获得当前绝对路径 /// </summary> /// <param name="strPath">指定的路 ...

  6. IDEA出现Cannot resolve symbol "xxx"(无法解析符号)

    在导入一些包的时候出现报错 1.File->Invalidate Caches/Restart 清除缓存并重启 idea2.检查pom文件中的依赖关系是否正确3.maven -> Reim ...

  7. PHP cURL获取微信公众号access_token

    1.开发微信公众号首先要获取access_token,在运行代码前现在开发者设置中把本服务器IP添加到白名单中 public function index(){ $appId = 'wxd0e50fe ...

  8. CSS元素(文本、图片)水平垂直居中方法

    1.text-align:center; 2.margin:0 auto; 3.display:inline-block; + text-align:center; 4.position:relati ...

  9. 安卓开发_浅谈主配置文件(AndroidManifest.xml)

    AndroidManifest.xml本质:是整个应用的主配置清单文件包含:该应用的包名,版本号,组件,权限等信息作用:记录该应用的相关的配置信息 一.常用标签(1).全局篇(包名,版本信息)(2). ...

  10. 平板电脑安装Ubuntu教程

    平板电脑安装Ubuntu教程-以V975w为例,Z3735系列CPU通用 最近尝试在昂达V975w平板电脑和intel stick中安装ubuntu,经过分析,发现存在一个非常大的坑.但因为这个坑,此 ...