第一步:安装nginx

1.上传或下载nginx,并解压

yum -y install lrzsz
rz
tar xzvf nginx-1.13..tar.gz

2.搭建nginx安装环境

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

3.进入nginx解压目录,进行预编译

cd nginx-1.13.
./configure

4.编译并安装

make && make install

第二步:安装MySQL

1.上传或下载MySQL,并解压

tar xzvf  mysql-5.5..tar.gz

2.搭建MySQL安装环境

yum -y install cmake bison ncurses-devel

3.创建MySQL用户、安装目录、数据存放目录、socket通信文件位置

 useradd mysql
mkdir /usr/local/mysql5
mkdir /data/mysql -p
touch /tmp/mysql.sock
cd mysql-5.5./

4.预编译操作

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5  \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT= \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_PARTITION_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE= \
-DENABLED_LOCAL_INFILE= \
-DWITH_EXTRA_CHARSETS= \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0 \

5.编译并安装

make && make install

6.进入安装目录,修改安装目录下所有文件的属主与属组,并拷贝配置文件和启动程序

 cd /usr/local/mysql5
chown -R mysql:mysql .
cp support-files/my-large.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld

7.将MySQL添加到系统服务

chkconfig --add mysqld

8.初始化MySQL,指定MySQL进程启动用户,指定MySQL数据目录,指定MySQL主目录

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

9.连接MySQL源码命令到系统命令上

ln -s /usr/local/mysql5/bin/* /usr/bin/

10.添加执行权限,启动MySQL

 chmod  /etc/init.d/mysqld
service mysqld start

第三步:安装PHP服务

1.上传并解压php

tar xjvf php-5.6..tar.bz2

2.搭建安装环境

yum -y install gd curl-devel libjpeg-devel \
libpng-devel freetype-devel libxml2-devel

3.进入解压后的源码包,执行预编译命令

cd php-5.6.8

./configure --prefix=/usr/local/php5 \
--enable-fpm --enable-debug --with-jpeg-dir \
--with-png-dir --with-freetype-dir \
--enable-mbstring --with-curl --with-mysql=/usr/local/mysql5/ \
--with-mysqli=/usr/local/mysql5/bin/mysql_config \
--disable-fileinfo\

4.编译和安装

make && make install

5.拷贝php.ini进程解析配置文件:开发环境拷贝php.ini-development    生产环境拷贝php.ini-production

cp php.ini-development  /usr/local/php5/lib/php.ini

6.拷贝php-fpm进程管理器配置文件

cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf

7.拷贝php-fpm程序管理器启动脚本,并增加脚本执行权限,添加到系统服务

 cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod /etc/init.d/php-fpm
chkconfig --add php-fpm

8.将php-fpm程序添加至开机自启动

chkconfig php-fpm on

第四步:LNMP配置文件整合

1.编辑nginx配置文件,在server块中添加新的location块,并编辑

vim /usr/local/nginx/conf/nginx.conf
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

2.编辑php-fpm配置文件,将用户和组改为www

useradd www
vim /usr/local/php5/etc/php-fpm.conf pid = run/php-fpm.pid
user = www
group = www

3.在nginx的html目录添加上index.php测试文件,并编辑

touch /usr/local/nginx/html/index.php
vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>

4.重启php服务,重启nginx服务,重启mysqld服务

 service php-fpm restart
service mysqld restart
/usr/local/nginx/sbin/nginx -s reload

5.开放9000端口、80端口、3306端口

 firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --reload

第五步:发布Discuz论坛

1.进入nginx的html目录,上传Discuz软件包,并解压

 cd /usr/local/nginx/html
rz
unzip Discuz_X3.2_SC_UTF8.zip

2.将解压后得到的upload中的资源全部移动至html目录;

mv uploca/*  .

3.将解压后得到的 data/    uc_server/    config/    uc_client/给予执行写入权限

chmod  -R data/ uc_server/ config/ uc_client/

4.在MySQL数据库中创建新用户和密码

 mysql
create database discuz charset=utf8 ;
grant all on discuz.* to root@'localhost' identified by "" ;
flush privileges ;
quit ;

5.访问网页测试能否安装

LNMP架构源码搭建(centos7)的更多相关文章

  1. LNMP架构——源码编译安装

    LNMP架构--源码编译安装 1.编译安装nginx服务 2.编译安装mysql服务 3.编译安装php解析环境 1.编译安装nginx服务: systemctl stop firewalld sys ...

  2. LNMP环境源码搭建

    以前LNMP环境是由运维搭建,自己搭建的时候查找了很多资料,这是我见过的最棒的资料,将过程记录下来分享给大家 为啥使用LNMP而不是LAMP下面来谈谈Nginx的技能 Nginx是一个小巧而高效的Li ...

  3. 源码搭建LNMP

      源码安装LNMP 作者:尹正杰   版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 前言:非常简单的一个平台LNMP,在生产实际环 ...

  4. CentOS 7 源码搭建LNMP环境

    搭建 LNMP 环境 源码包版本 :  CentOS Linux  7 nginx-1.15.1.tar.gz  mysql-boost-5.7.21.tar.gz  php-7.2.7.tar.gz ...

  5. ARL(资产侦察灯塔系统)-源码搭建

    freebuf能力中心开源了一套资产扫描系统(https://github.com/TophantTechnology/ARL),提供docker版,但并无源码搭建的文档(无完整文档).于是在星光哥及 ...

  6. LAMP架构—源码编译安装 (爱情受过伤,为爱跳过鸭绿江)

    LAMP架构--源码编译安装 1.LAMP架构概述 2.编译安装Apache httpd 服务 3.编译安装mysql 服务 4.编译安装PHP 解析服务 5.利用LAMP搭建论坛 1.LAMP架构概 ...

  7. jQuery整体架构源码解析(转载)

    jQuery整体架构源码解析 最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性, ...

  8. Spark Streaming揭秘 Day22 架构源码图解

    Spark Streaming揭秘 Day22 架构源码图解 今天主要是通过图解的方式,对SparkStreaming的架构进行一下回顾. 下面这个是其官方标准的流程描述. SparkStreamin ...

  9. Java开源生鲜电商平台-支付模块的设计与架构(源码可下载)

    Java开源生鲜电商平台-支付模块的设计与架构(源码可下载) 开源生鲜电商平台支付目前支持支付宝与微信.针对的是APP端(android or IOS)   1. 数据库表设计. 说明:无论是支付宝还 ...

随机推荐

  1. python基础-数字类型及内置方法

    --数字类型及内置方法 整型-int 用途:多用于年龄.电话.QQ号等变量 定义方法 age = 18 # age = int(18) 常用方式:多用于数学计算 # int(x)将x转换成整数,是向下 ...

  2. 前端技术之:JS开发几个有意思的东东

    一. 查看性能分析报告 npm run build:prod --report ​ 二.vue ui工具 ​ ​ 三.vue-element-admin https://panjiachen.gite ...

  3. NOIP模拟 39

    考的嘛也不是. 伤心(怎么可能) T1稍想想组合数,然后牢记: 取模题随时取模,包括刚刚读入的数据  T2想到了基环树,然而不会打QAQ.. 非常简洁但非常大神的做法:随便断掉环上的一条边 利用“这条 ...

  4. day5-基本数据类型总结

    一.数字int(..)二.字符串replace/find/join/strip/startswith/split/upper/lower/format tempalte = "i am {n ...

  5. Windows下Apache与PHP的安装与配置

    下载Apache Apache的官网(http://httpd.apache.org) 1.把解压后的Apache拷贝到要安装的目标位置.建议拷贝到C盘根目录下,因为这是其默认设置. 2.我选择的是拷 ...

  6. nyoj 22-素数求和问题(打表)

    22-素数求和问题 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:41 submit:52 题目描述: 现在给你N个数(0<N<1000 ...

  7. nyoj 277-车牌号 (map, pair, iterator)

    277-车牌号 内存限制:64MB 时间限制:3000ms 特判: No 通过数:9 提交数:13 难度:1 题目描述: 茵茵很喜欢研究车牌号码,从车牌号码上可以看出号码注册的早晚,据研究发现,车牌号 ...

  8. 决策树(中)-集成学习、RF、AdaBoost、Boost Tree、GBDT

    参考资料(要是对于本文的理解不够透彻,必须将以下博客认知阅读): 1. https://zhuanlan.zhihu.com/p/86263786 2.https://blog.csdn.net/li ...

  9. Python input函数使用

    本文链接:https://www.cnblogs.com/zyuanlbj/p/11905475.html 函数定义 def input(*args, **kwargs): # real signat ...

  10. .NET core3.0 使用Jwt保护api

    摘要: 本文演示如何向有效用户提供jwt,以及如何在webapi中使用该token通过JwtBearerMiddleware中间件对用户进行身份认证. 认证和授权区别? 首先我们要弄清楚认证(Auth ...