系统环境:centos 7.3

软件环境:mysql 5.6.12 采用二进制免编译安装包

php 7.17 增加扩展模块phalcon

nginx 1.12.1 增加扩展模块 nginx_http_concat_module

# 安装依赖包

yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses curl openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel libmcrypt libmcrypt-devel libaio

#============== ========安装MYSQL 5.6.12==========================

#下载MYSQL 5.6.12

cd /usr/local/src

wget https://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz

#解压MYSQL

tar -zxvf /usr/local/src/mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz -C /usr/local

#添加mysql用户,不允许登陆系统

useradd -s /sbin/nologin mysql

#更改mysql文件名

cd /usr/local

mv mysql-5.6.12-linux-glibc2.5-x86_64 mysql

#创建mysql数据库目录

mkdir -pv /data/mysql

chown -R mysql.mysql /data/mysql

#初始化MYSQL

cd /usr/local/mysql

./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

#创建MYSQL 主配置文件

mv /etc/my.cnf /etc/my.cnf.bak

cat > /etc/my.cnf <<EOF

[mysql]

default-character-set=utf8

socket=/tmp/mysql.sock

[mysqld]

skip-name-resolve

port = 3306

socket=/tmp/mysql.sock

basedir=/usr/local/mysql

datadir=/data/mysql

max_connections=200

character-set-server=utf8

default-storage-engine=INNODB

lower_case_table_names=1

max_allowed_packet=16M

EOF

#更改启动脚本,并添加到开机启动

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

chmod 755 /etc/init.d/mysqld

/etc/init.d/mysqld start

chkconfig --add mysqld

chkconfig mysqld on

netstat -tulnp |grep mysql   //查看是否监听3306端口

#====================安装php 7.17==============================

#下载PHP 7.1.7

cd /usr/local/src

wget http://cn2.php.net/distributions/php-7.1.7.tar.gz

#解压PHP:

tar -zxvf php-7.1.7.tar.gz

#添加php-fpm 用户,不允许登陆系统

useradd -s /sbin/nologin php-fpm

#进入PHP解压目录,配置编译参数:

cd /usr/local/src/php-7.1.7

./configure '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--with-config-file-scan-dir=/usr/local/php/etc/conf.d' '--enable-fpm' '--with-fpm-user=php-fpm' '--with-fpm-group=php-fpm' '--enable-soap' '--with-openssl' '--with-openssl-dir' '--with-mcrypt' '--with-pcre-regex' '--with-zlib' '--with-iconv' '--with-bz2' '--enable-calendar' '--with-curl' '--with-cdb' '--enable-dom' '--enable-exif' '--with-pcre-dir' '--enable-ftp' '--with-gd' '--with-jpeg-dir' '--with-png-dir' '--with-freetype-dir' '--with-gettext' '--with-gmp' '--with-mhash' '--enable-mbstring' '--with-libmbfl' '--with-onig' '--enable-pdo' '--with-pdo-mysql=mysqlnd' '--with-zlib-dir' '--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' '--with-mysql-sock=/tmp/mysql.sock' '--with-mysqli=/usr/local/mysql/bin/mysql_config' '--without-pear'

#编译及安装

make && make install

#复制Php 主配置:

cp php.ini-production /usr/local/php/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

#创建php-fpm 主配置文件:

sed -i '1,$s#;pid = run/php-fpm.pid#pid = /usr/local/php/var/run/php-fpm.pid#g' /usr/local/php/etc/php-fpm.conf

sed -i '1,$s#;error_log = log/php-fpm.log#error_log = /usr/local/php/var/log/php-fpm.log#g' /usr/local/php/etc/php-fpm.conf

echo "include=/usr/local/php/etc/php-fpm.d/*.conf" >> /usr/local/php/etc/php-fpm.conf

cat <<EOF > /usr/local/php/etc/php-fpm.d/www.conf

[global]

pid = /usr/local/php/var/run/php-fpm.pid

error_log = /usr/local/php/var/log/php-fpm.log

[www]

listen = 127.0.0.1:9000

user = php-fpm

group = php-fpm

listen.owner = nginx

listen.group = nginx

pm = dynamic

pm.max_children = 50

pm.start_servers = 20

pm.min_spare_servers = 5

pm.max_spare_servers = 35

pm.max_requests = 500

rlimit_files = 1024

EOF

#测试php-fpm 配置:

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

#centos 7 systemctl启动php-fpm

cp /usr/local/src/php-7.1.7/sapi/fpm/php-fpm.service /usr/lib/systemd/system/

systemctl enable php-fpm.service

systemctl start php-fpm.service

#关闭php 版本信息:

sed -i 's/expose_php = On/expose_php = Off/g' /usr/local/php/etc/php.ini

#下载phalcon模块

cd /usr/local/src

git clone https://github.com/dreamsxin/cphalcon7.git

cd cphalcon7/ext

#准备环境,配置编译参数

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config >> $LOG_INS 2>&1

#编译及安装

make && make install

#修改php.ini,增加扩展模块

mkdir /usr/local/php/etc/conf.d

echo "extension = phalcon.so" >> /usr/local/php/etc/conf.d/phalcon.ini

#重新加载配置

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

systemctl restart php-fpm.service

#===================安装nginx 1.12.1 ==============================

#下载

cd /usr/local/src && wget http://nginx.org/download/nginx-1.12.1.tar.gz && git clone git://github.com/alibaba/nginx-http-concat.git

#解压:

tar zxf nginx-1.12.1.tar.gz

#创建nginx运行用户

useradd -s /sbin/nologin nginx

#进入解压目录,配置编译参数:

cd ./nginx-1.12.1 && ./configure --prefix=/usr/local/nginx --with-http_realip_module  --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre --add-module=/usr/local/src/nginx-http-concat

#编译及安装

make && make install

#设置软链接

ln -s /usr/local/lib/libmaxminddb.so.0 /usr/lib64

ln -s /usr/local/lib/libprofiler.so.0 /usr/lib64

ln -s /usr/local/lib/libunwind.so.8 /usr/lib64

#检测初始化完成的nginx 配置是否有问题

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

#centos 7创建nginx启动脚本

cat <<EOF > /usr/lib/systemd/system/nginx.service

[Unit]

Description=nginx

Documentation=http://nginx.org/en/docs/

After=network-online.target remote-fs.target nss-lookup.target

Wants=network-online.target

[Service]

Type=forking

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s TERM $MAINPID

[Install]

WantedBy=multi-user.target

EOF

#将nginx加入到开机启动

systemctl enable nginx.service

#备份nginx主配置文件

cp /usr/local/nginx/conf/nginx.conf{,.bak}

#重新nginx 配置:

cat << EOF > /usr/local/nginx/conf/nginx.conf

user nginx nginx;

error_log /var/log/nginx_error.log crit;

pid /usr/local/nginx/logs/nginx.pid;

worker_processes  auto;

worker_rlimit_nofile 65535;

events {

use epoll;

worker_connections  65535;

}

http {

include      mime.types;

default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

server_tokens off;

charset utf-8;

tcp_nopush on;

tcp_nodelay on;

gzip on;

gzip_min_length 100;

gzip_buffers 4 16k;

gzip_http_version 1.0;

gzip_comp_level 6;

gzip_types text/plain application/x-javascript text/css application/xml;

gzip_vary on;

server {

listen      80;

server_name  localhost;

location / {

root  html;

index  index.html index.htm index.php;

}

error_page  500 502 503 504  /50x.html;

location = /50x.html {

root  html;

}

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;

}

}

}

EOF

#创建PHP测试文件:

echo "<?php  echo phpinfo();  ?>" >/usr/local/nginx/html/index.php

#备份index.html:

mv /usr/local/nginx/html/index.html{,.bak}

#启动nginx:

#service nginx start

systemctl start nginx.service

#清空防火墙配置

iptables -F

#设置nginx、mysql 及php 的环境变量:

echo "PATH=$PATH:/usr/local/php/bin:/usr/local/nginx/sbin:/usr/local/mysql/bin:/usr/local/php/sbin" >> /etc/profile

#刷新环境变量配置,使其立即生效:

source /etc/profile

浏览器访问ip,会出现php的相关信息。

本文转自 IT_外卖小哥  51CTO博客,原文链接:http://blog.51cto.com/jinlong/1952256

centos 7--LNMP环境部署相关推荐

  1. CentoS 7 LNMP 环境部署zabbix监控

    本次实验,我们主要在centos 7 系统上部署zabbix监控,并实现监控交换机,监控Apache服务器,实现邮箱报警等操作 LNMP环境构建 软件包 下载地址 nginx-1.8.0.tar.gz ...

  2. 20分钟完成Mac上的 LNMP 环境部署,优雅·高效开发(Docker方式)

    一.前言 对于很多开发者来说,突然转到在 mac 系统开发,可能会非常难受,主要有以下几个原因 1.mac 上安装软件程序坑多,比如安装 PHP.Nginx,会存在很多使用 linux 或 windo ...

  3. zabbix监控之Centos基于LNMP环境安装

    本文描述zabbix在lnmp环境中的搭建过程,为减少配置难度,mysql,php采用yum安装.系统版本是centos6.4. 本安装过程以直接高效的方式叙述. 1.Yum安装mysql mysql ...

  4. 【Linux】循序渐进学运维-服务篇-LNMP环境部署

    文章目录 前言 一. LNMP的介绍 二. 什么是Fast-CGI 三. 部署实战 1. 安装php和mysql 2. nginx和php的结合 a. 编译nginx b. 配置nginx与php的结 ...

  5. LNMP环境部署----之Mysql安装部署

    Mysql安装部署 1.安装概览 MySQL有几种不同的产品线,且每种产品线又有很多不同的版本,这里选择当前企业使用最广的社区版MySQL5.5系列作为LNMP的组合环境数据库平台. 企业场景MySQ ...

  6. CentOS 7 LNMP环境搭建 Zabbix3.4

    概述:在CentOS 7 64位操作系统环境下搭建LNMP(Linux+Nginx+MySQL+PHP)来运行Zabbix 3.4 监控程序 预先安装: yum install -y autoconf ...

  7. LNMP环境下QQ农场的搭建

    文章目录 基于LNMP环境部署QQ农场 1.资源下载 2.基础环境部署 3.配置数据库及web服务器 4.测试访问 基于LNMP环境部署QQ农场 1.资源下载 LNMP = Linux Nginx ( ...

  8. LINUX 系统LNMP环境搭建

    企业级架构之LNMP 一.LNMP环境准备 1.操作系统 CentOS7(CentOS7.6全英文,最小化安装) 2.部署规划 编号 主机名称 IP地址(公网IP) 角色 1 web01.itcast ...

  9. CentOS 6.7 源码搭建LNMP架构部署动态网站环境

    源码搭建LNMP架构部署动态网站环境 Nginx 简介 Nginx是一款相当优秀的用于部署动态网站的服务程序,Nginx具有不错的稳定性.丰富的功能以及占用较少的系统资源等独特特性. Nginx (& ...

  10. YUM部署高版本LNMP环境

    现状: yum epel源自带php mysql nginx版本较低不能满足测试和生产环境中程序性能及安全需求 LNMP-->Web环境快速部署 需求: yum源带的php版本也是5.4, 当我 ...

最新文章

  1. LeetCode 929 Unique Email Addresses--python一行解法,Java解法
  2. Nginx - 日志格式及输出
  3. 在Java中衡量执行时间– Spring StopWatch示例
  4. Unity导入3D模型的过程与方法
  5. Animator忽视TimeScale
  6. redis win连接以及配置连接密码
  7. [渝粤教育] 西南科技大学 供用电网络及变电所设备 在线考试复习资料
  8. matlab最小二乘法拟合直线
  9. com组件 的劫持_2345.com/365j.com的IE首页劫持手动修复方法+修复工具
  10. 在线XML转JSON工具
  11. 2021年10月程序员薪资出炉,北京最高工资达45000元!
  12. ps3 自制系统的C 语言,老树发新芽:PS3自制系统的使用与研究
  13. Vue解决跨域问题方案
  14. GetX概览 — Flutter 开发的百宝箱
  15. java 读取excel列_Java读取Excel指定列的数据详细教程和注意事项
  16. 2020省赛总结与反思
  17. 科学计算法(e/E表示规则)
  18. sql server存储过程练习
  19. 如何禁用计算机防病毒程序,win10系统怎么关闭Windows Defender防病毒程序
  20. MySQL-SQL语句命令

热门文章

  1. java --级联操作(查询/更新)
  2. 凤舞天博客中的一些好的见解
  3. HTTPS安全证书介绍
  4. JavaScript 读书笔记(二)— Date类型
  5. c++面试题之内存分配
  6. 利用python+seleniumUI自动化登录获取cookie后再去测试接口,今天终于搞定了
  7. TCP/IP,Http,Socket的区别
  8. 中英字体不同导致的下划线不对齐问题
  9. nginx的HTTP模块编写
  10. IBM Watson:用人工智能提升美国零售业消费体验