centos7源码编译安装lnmp环境

1.系统自带的yum源有很多包没有,所以先下载一个网络源。

nginx版本 1.14.0

mysql版本 5.7.20

php版本 5.6.40

wget http://mirrors.aliyun.com/repo/Centos-7.repo -P /etc/yum.repos.d/ #这里安装的是阿里的网络源,epel扩展源,也可以安装阿里的,但是阿里的epel源有些包不全,所以下面就直接用yum安装网络epel源yum -y install epel-releasels /etc/yum.repos.d/yum clean all;yum makecache

2.安装nginx

2.1安装依赖包

 yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre*

2.2创建nginx运行用户

 useradd -M -s /sbin/nologin nginx

2.3.下载pcre包(放到/usr/local/src下面)

cd /usr/local/src
wget https://jaist.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.zip
unzip pcre-8.42.zip

2.4下载nginx并解压安装

wget http://nginx.org/download/nginx-1.14.0.tar.gz
tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0
#配置
./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_ssl_module --user=nginx --group=nginx --with-pcre=/usr/local/src/pcre-8.42

2.5 编译安装

make && make install

2.6修改配置文件

vim /usr/local/nginx/conf/nginx.conf


2.7添加环境变量,优化nginx服务

usr/local/nginx/sbin/nginx -t  #检查nginx语法是否正确
vim /etc/profile                    #添加环境变量


 source /etc/profile

直接输入nginx即可启动

2.8创建启动脚本

vim /etc/init.d/nginx

输入以下内容:

#!/bin/bash# chkconfig: 2345 99 20#description: nginx-servernginx=/usr/local/nginx/sbin/nginxcase $1 instart)netstat -anptu | grep nginxif [ $? -eq 0 ]thenecho "nginx service is already running"elseecho "nginx Service started successfully "$nginxfi;;stop)$nginx -s stopif [ $? -eq 0 ]thenecho "nginx service closed successfully"elseecho "nginx server stop fail,try again"fi;;status)netstat -anlpt | grep nginxif [ $? -eq 0 ]thenecho "nginx server is running"elseecho "nginx service not started "fi;;restart)$nginx -s reloadif [ $? -eq 0 ]thenecho "nginx service restart successfully "elseecho "nginx server restart failed"fi;;*)echo "please enter {start restart status stop}";;esac

配置脚本的权限并设置开机启动

chmod +x /etc/init.d/nginx
chkconfig --add nginx
chkconfig nginx on

3.安装mysql

3.1卸载系统自带的mariadb

yum -y remove mariadb* boost-*

3.2安装依赖包

yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel

3.3下载源码包,并解压

wget https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.20.tar.gz
tar -zxvf mysql-boost-5.7.20.tar.gz

3.4安装

cd mysql-5.7.20/
#配置
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/src/mysql-5.7.20/boost/boost_1_59_0 -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DENABLE_DTRACE=0 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_USER=mysql
#编译安装
make make install

3.5创建数据库用户和数据目录

useradd -M -s /sbin/nologin -r mysql
mkdir -p /usr/local/mysql/data      #创建数据存储目录
chown -R mysql.mysql /usr/local/mysql/   #更改属主数组为MySQL

3.6配置mysql的配置文件

 vim /etc/my.cnf#输入下面的内容 [mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
symbolic-links=0
user=root
character-set-server=utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
[client]
socket=/usr/local/mysql/mysql.sock

3.7配置mysql启动脚本

 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld    #复制启动脚本到/etc/init.dchkconfig --add mysqld          #添加到开机启动项chkconfig mysqld on                #添加开机自启动
#配置mysql目录和数据存放目录
vim /etc/init.d/mysqld

如下图:

vim /etc/profile     #配置环境变量,增加mysql
#增加下面这一行
export PATH=$PATH:/usr/local/mysql/bin


保存退出,重新加载环境环境变量使配置生效

source /etc/profile

3.8安全初始化数据库

/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data  #这样初始化之后,数据库是没有密码的/etc/init.d/mysqld start               #启动数据库

mysql -uroot                         #登录数据库修改root用户密码alter user 'root'@'localhost' identified by '123456';  #修改root密码为123

exit       #退出数据库
mysql -uroot -p   #重新登录数据库,需要密码

4.安装php

4.1安装依赖包

yum -y install php-mcrypt libmcrypt libmcrypt-devel  autoconf  freetype gd libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel re2c net-snmp-devel libjpeg-devel php-ldap openldap-devel openldap-servers openldap-clients freetype-devel gmp-devel

4.2下载php源码包(下面的下载地址可以选择你需要的php版本)

cd /usr/local/src
wget http://cn2.php.net/distributions/php-5.6.40.tar.gz
tar -zxf php-5.6.40.tar.gz
cd php-5.6.40
#配置
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli --with-pdo-mysql --with-mysql-sock=/usr/local/mysql/mysql.sock --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-curl --with-gd --with-gmp --with-zlib --with-xmlrpc --with-openssl --without-pear --with-snmp --with-gettext --with-mhash --with-libxml-dir=/usr --with-fpm-user=nginx --with-fpm-group=nginx --enable-xml --enable-fpm  --enable-ftp --enable-bcmath --enable-soap --enable-shmop --enable-sysvsem --enable-sockets --enable-inline-optimization --enable-maintainer-zts --enable-mbregex --enable-mbstring --enable-pcntl --enable-zip --disable-fileinfo --disable-rpath --enable-libxml --enable-opcache --enable-mysqlnd


4.3编译安装

make
make install

4.4配置php配置文件

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf #移动php配置文件的位置,并修改名称
cp /usr/local/src/php-5.6.40/php.ini-production /usr/local/php/etc/php.ini      #复制一份php.ini配置文件

4.5复制php启动脚本,并添加开机启动

cp /usr/local/src/php-5.6.40/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm #复制启动脚本chmod +x /etc/init.d/php-fpm   #添加执行权限chkconfig --add php-fpm  #添加开启启动chkconfig php-fpm on

4.6启动php-fpm

/etc/init.d/php-fpm start


4.7建立测试php文件

cd /usr/local/nginx/html
vim test.php

在test.php打印phpinfo即可(以下是我的腾讯云的公网ip地址)
注:新买的腾讯云服务器,通过公网ip访问,有可能打不开,这是因为防火墙没有开启80端口,在防火墙开放80端口即可,在腾讯云的控制台的安全组里面也需要开放80端口

systemctl status firewalld   #查看防火墙是否开启
firewall-cmd --list-ports  #查看防火墙已经开放的端口
firewall-cmd --zone=public --add-port=80/tcp --permanent   #防火墙开放80端口,根据此命名可以开放常用端口,如 3306(mysql), 6379(redis)等等。
systemctl restart firewalld     #重启防火墙,配置才生效





参考博客:https://www.cnblogs.com/baorong/p/9166417.html

centos7源码搭建lnmp环境相关推荐

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

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

  2. PCL-1.8.1从源码搭建开发环境三(QHULL库的编译)

    原文首发于微信公众号「3D视觉工坊」:PCL-1.8.1从源码搭建开发环境三(QHULL库的编译) 首先,介绍一下QHull库. QHull是一个开源的程序软件,用来研究解决凸包问题,生成凸包形体.官 ...

  3. PCL-1.8.1从源码搭建开发环境二(FLANN库的编译)

    原文首发于微信公众号「3D视觉工坊」,PCL-1.8.1从源码搭建开发环境二(FLANN库的编译) 首先,快速近似最近邻搜索库FLANN-Fast Library for Approximate Ne ...

  4. 源码搭建Lump环境

    CentOS6.3+Apache2.2+php5.3.8+Mysql5.5.4源码搭建Lump环境 CentOS6.3 Apache2.2 php5.3.8 Mysql5.5.4 一.系统环境 虚拟机 ...

  5. centos7 系统下搭建 lnmp 环境

    目录 目录 概述 准备工作 开始编译安装 1. 安装 Nginx 1. 解压 2. 环境准备 3. 编译过程 4. Nginx 服务 2. 安装 MySQL 1. 解压 2. 环境准备 3. 安装 C ...

  6. linux下mysql服务架设_linux下源码搭建php环境之mysql(一)

    现在已经大半夜了,五一劳动节挺无聊的. 折腾一下吧,实在是睡不着.于是乎在电脑上安装个虚拟机,然后呢,在虚拟机上搭建一个php环境. 首先我得安装MYSQL吧.发现遇到的问题真多..待我娓娓道来. 主 ...

  7. ubuntu16 下 源码配置Lnmp环境

    最近把系统升级到 ubuntu16长期支持版 ,重新部署了lnmp环境 约定几个目录  源码目录  /usr/local/src mysql     /usr/local/mysql php  /us ...

  8. 大数据 (三) BI报表系统 superset 源码搭建开发环境

    公司要用BI报表给业务来分析查询数据,对比了几个BI报表,不是收费,就是一般 最后决定用superset BI报表,开始去git上找源码开始搭建环境了. 我们是5月中下旬开始下的,当时superset ...

  9. 高性能web服务器nginx(三)之源码搭建LNMP

    一.环境准备 1.关闭防火墙及selinux 1 2 3 [root@hpf-linux ~]# iptables -F [root@hpf-linux ~]# getenforce  Disable ...

最新文章

  1. .Net业务搭配实用技术栈
  2. 多重循环控制练习之班级成绩情况
  3. 问题 1052: [编程入门]链表合并
  4. 兼容门:先卸载腾讯QQ,再卸载360软件!
  5. LNMP与CA认证的童话故事
  6. java urlrewrite_Java|urlrewrite|URL重写|多个参数
  7. 从SqlServer转手Oracle的一些坑
  8. 在计算机系统中使用加载器,在个人计算机系统中从软盘加载基本输入/输出系统的设备和方法...
  9. R语言轻巧的时间包hms
  10. java定义vip顾客继承顾客_Java初级教频教程 - JavaSE - Java - 私塾在线 - 只做精品视频课程服务...
  11. Map转Object和List<Map> 转List Object
  12. 用python和OpenCV进行动态物体检测
  13. 零基础,两个月复习备考软考中级经验分享
  14. 2021年中国危险废物产量、处理量及回收利用量分析[图]
  15. 3000字告诉你如何渡过程序员菜鸟时期
  16. 百度网盘免费扩容2T的内幕
  17. k8s集群配置域名证书支持https与http
  18. html css主题,HTML+CSS=无限可能——案例详解:我的POI主题作品
  19. ReFi夏季升温:Uniswap v3和绿色资产池在Celo上启动
  20. 雷达图 自定义点样式 渐变背景色

热门文章

  1. 狼人杀总结之“警下预言家 必是真预言家”
  2. MATLAB人民币面额识别
  3. AdminLTE 介绍与入门
  4. 统计文件中每个字母的个数
  5. 比Switch...Case更加优雅的多条件判断写法
  6. 【java反射】简单说说静态代理和动态代理
  7. 深度解码互联网后台服务架构-魏佳-专题视频课程
  8. 全球及中国太阳能纸行业产销态势及前景趋势预测报告(2022-2028年)
  9. 我现在是读的中专,读书的意义是什么?
  10. SSR(服务端渲染)、CSR(客户端渲染)和预渲染