centos7源码搭建lnmp环境
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环境相关推荐
- CentOS 6.7 源码搭建LNMP架构部署动态网站环境
源码搭建LNMP架构部署动态网站环境 Nginx 简介 Nginx是一款相当优秀的用于部署动态网站的服务程序,Nginx具有不错的稳定性.丰富的功能以及占用较少的系统资源等独特特性. Nginx (& ...
- PCL-1.8.1从源码搭建开发环境三(QHULL库的编译)
原文首发于微信公众号「3D视觉工坊」:PCL-1.8.1从源码搭建开发环境三(QHULL库的编译) 首先,介绍一下QHull库. QHull是一个开源的程序软件,用来研究解决凸包问题,生成凸包形体.官 ...
- PCL-1.8.1从源码搭建开发环境二(FLANN库的编译)
原文首发于微信公众号「3D视觉工坊」,PCL-1.8.1从源码搭建开发环境二(FLANN库的编译) 首先,快速近似最近邻搜索库FLANN-Fast Library for Approximate Ne ...
- 源码搭建Lump环境
CentOS6.3+Apache2.2+php5.3.8+Mysql5.5.4源码搭建Lump环境 CentOS6.3 Apache2.2 php5.3.8 Mysql5.5.4 一.系统环境 虚拟机 ...
- centos7 系统下搭建 lnmp 环境
目录 目录 概述 准备工作 开始编译安装 1. 安装 Nginx 1. 解压 2. 环境准备 3. 编译过程 4. Nginx 服务 2. 安装 MySQL 1. 解压 2. 环境准备 3. 安装 C ...
- linux下mysql服务架设_linux下源码搭建php环境之mysql(一)
现在已经大半夜了,五一劳动节挺无聊的. 折腾一下吧,实在是睡不着.于是乎在电脑上安装个虚拟机,然后呢,在虚拟机上搭建一个php环境. 首先我得安装MYSQL吧.发现遇到的问题真多..待我娓娓道来. 主 ...
- ubuntu16 下 源码配置Lnmp环境
最近把系统升级到 ubuntu16长期支持版 ,重新部署了lnmp环境 约定几个目录 源码目录 /usr/local/src mysql /usr/local/mysql php /us ...
- 大数据 (三) BI报表系统 superset 源码搭建开发环境
公司要用BI报表给业务来分析查询数据,对比了几个BI报表,不是收费,就是一般 最后决定用superset BI报表,开始去git上找源码开始搭建环境了. 我们是5月中下旬开始下的,当时superset ...
- 高性能web服务器nginx(三)之源码搭建LNMP
一.环境准备 1.关闭防火墙及selinux 1 2 3 [root@hpf-linux ~]# iptables -F [root@hpf-linux ~]# getenforce Disable ...
最新文章
- .Net业务搭配实用技术栈
- 多重循环控制练习之班级成绩情况
- 问题 1052: [编程入门]链表合并
- 兼容门:先卸载腾讯QQ,再卸载360软件!
- LNMP与CA认证的童话故事
- java urlrewrite_Java|urlrewrite|URL重写|多个参数
- 从SqlServer转手Oracle的一些坑
- 在计算机系统中使用加载器,在个人计算机系统中从软盘加载基本输入/输出系统的设备和方法...
- R语言轻巧的时间包hms
- java定义vip顾客继承顾客_Java初级教频教程 - JavaSE - Java - 私塾在线 - 只做精品视频课程服务...
- Map转Object和List<Map> 转List Object
- 用python和OpenCV进行动态物体检测
- 零基础,两个月复习备考软考中级经验分享
- 2021年中国危险废物产量、处理量及回收利用量分析[图]
- 3000字告诉你如何渡过程序员菜鸟时期
- 百度网盘免费扩容2T的内幕
- k8s集群配置域名证书支持https与http
- html css主题,HTML+CSS=无限可能——案例详解:我的POI主题作品
- ReFi夏季升温:Uniswap v3和绿色资产池在Celo上启动
- 雷达图 自定义点样式 渐变背景色