CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

简介

1·LNMP 介绍
2·Ningx 安装 (1.12版本)
3·MySQL 安装 (5.5版本)
4·PHP 安装 (5.6版本)
5·安装 Discuz 论坛
6·总结


LNMP 介绍

1· 很多人都知道 LAMP 架构,它是由 Linux + Apache + MySQL + PHP 所架构的,但是随着 Nginx 在企业中用得越来越多,LNMP 架构也受到人们得喜爱。其实这两个架构变化不大,只是提供 WEB 服务的变成了 Nginx 。那么他们之间一定会由差异。在 LNMP 中 Nginx 可以配置网页的动静分离、解析PHP,可以使用 PHP的FPM模块。现在比较新的PHP 版本中已经自带了FPM模块(进程管理器)。这样的话,就可以让 Nginx 来处理静态请求,并且它会把动态请求转发给 PHP中的FPM 模块,也可以把说成是一个php-fpm服务。但是在 LAMP 中php 只是作为一个模块存在!
2·而且Nginx 它能承受的并发连接数高达50000左右,甩 Apache 几条街。还有它的稳定性和系统资源的占用都是非常的小。所以非常受人们喜欢。


CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

安装前准备源码包,我放在百度网盘上点击免费下载:LNMP+论坛源码包密码:jx5k


Nginx 安装

1·安装 Nginx 之前需要安装依赖包

[root@localhost ~]# yum -y install pcre-devel zlib-devel gcc gcc-c++ make


2·给 Nginx 创建专门的用户,以便准确的控制权限,降低安全风险

[root@localhost ~]# useradd -M -s /sbin/nologin nginx


3·解压、编译安装 nginx ,一般编译安装都放在 /usr/local 目录下面

[root@localhost ~]# tar zxvf nginx-1.12.0.tar.gz -C /opt
[root@localhost ~]# cd /opt/nginx-1.12.0
[root@localhost nginx-1.12.0]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module (支持统计状态)
[root@localhost nginx-1.12.0]# make && make install (编译安装)


4·为了使 nginx 方便管理员运行和管理,为nginx 创建连接文件

[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/ /usr/local/sbin/


5·为了使 Nginx 的启动 停止更加方便,为他写一个启动脚本,这样更方便。

[root@localhost nginx-1.12.0]# vim /etc/init.d/ngixn
#!/bin/bash
#chkconfig: - 99 20
#description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx" (这里是:主程序路径)
PIDF="/usr/local/nginx/logs/nginx.pid" (这里是PID存放路径)
case "$1" in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF) (根据 PID 终止 nginx 进程,kill进程)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF) (根据进程重新加载配置)
;;
*)
echo "Usage: $0 {start|stop|restart|reload}" (如果输入其他则提示输入语法)
exit 1
esac
exit 0


6·给这个脚本赋予执行权限、并把 Nginx 添加为系统服务。

[root@localhost ~]# chmod +x /etc/init.d/nginx
[root@localhost ~]# chkconfig --add nginx


7·启动 Nginx 服务 、查看状态。

[root@localhost ~]# systemctl start nginx
[root@localhost ~]# systemctl status nginx
● nginx.service - SYSV: Nginx Service Control Script
Loaded: loaded (/etc/rc.d/init.d/nginx; bad; vendor preset: disabled)
Active: active (running) since 二 2018-08-28 14:14:00 CST; 7s ago
Docs: man:systemd-sysv-generator(8)
Process: 5323 ExecStart=/etc/rc.d/init.d/nginx start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/nginx.service
├─5325 nginx: master process /usr/local/nginx/sbin/nginx
└─5326 nginx: worker process


MySQL 安装 (5.5版本哦)

1·这里还是需要先安装依赖包,MySQL 这里需要注意的是不再用 ./configure 安装模块了,而是用 Cmake ,所以这里需要安装 Cmake以及其他的包

[root@localhost ~]# yum -y install ncurses-devel bion libaio-devel cmake


2·给 MySQL 创建专门的用户,以便准确的控制权限,降低安全风险

[root@localhost ~]# useradd -s /sbin/nologin mysql


3·解压、编译安装 MySQL ,一般编译安装都放在 /usr/local 目录下面

[root@localhost ~]# tar zxvf mysql-5.5.24.tar.gz -C /opt
[root@localhost ~]# cd /opt/mysql-5.5.24
[root@localhost mysql-5.5.24]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_SSL=system \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1 \
-DWITH_SSL=bundled

[root@localhost mysql-5.5.24]# make && make install


4·根据一些日常的习惯,对MySQL做一些调整优化。

[root@localhost mysql-5.5.24]# cp support-files/my-medium.cnf /etc/my.cnf
[root@localhost mysql-5.5.24]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.5.24]# chmod +x /etc/init.d/mysqld


5·加入系统管理、设置开机启动

[root@localhost mysql-5.5.24]# chkconfig --add mysqld
[root@localhost mysql-5.5.24]# chkconfig --level 35 mysqld on


6·添加变量到 /etc/profile 文件中,并且使文件再次生效。

[root@localhost mysql-5.5.24]# echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile
[root@localhost ~]# . /etc/profile (这里需要注意 . 中间有空格)
[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql


7·初始化数据库

[root@localhost ~]# /usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql


CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

8·在启动配置文件中指定家目录和安装路径

[root@localhost ~]# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/home/mysql


CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

9·到这里我本来就可以启动服务了,可是这里报错,如下图报错信息,是在关闭防火墙,setenforce 0 之后启动。

[root@localhost ~]# systemctl start mysqld.service

CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

它说让你用它提示的语句去查看状态,其实我们用另一种方法启动,可以看到报错信息不一样。如下图
[root@localhost ~]# /etc/init.d/mysqld start

CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

意思是:启动时不跟新PID文件。没有PID 就启动不了。 解决办法:
[root@localhost ~]# mv /etc/my.cnf /etc/my.cnf.bak
相当于删除了这个文件而已就可以启动成功

或者把 /etc/my.cnf 中的两句话注释掉或者自己创建 mkdir -p /var/run/mariadb
mkdir -p /log/run/mariadb

CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

安装 PHP

1·安装依赖包和GD库等相关联的程序

[root@localhost ~]# yum -y install \
gd \
libxml2-devel \
libjpeg-devel \
libpng-devel \
zlib-devel \
fontconfig-devel \
openssl-devel \
bzip2-devel


2·解压、编译安装 PHP ,一般编译安装都放在 /usr/local 目录下面

[root@localhost ~]# tar jxvf php-5.6.11.tar.bz2 -C /opt/
[root@localhost php-5.6.11]# ./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring \
--with-jpeg-dir=/usr/lib \
--with-openssl \
--disable-ipv6 \
--enable-fpm

[root@localhost php-5.6.11]# make && make install


3·对 PHP 进行一些优化

[root@localhost php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini
[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/ /usr/local/bin/
[root@localhost php-5.6.11]# ln -s /usr/local/php5/sbin/
/usr/local/sbin/


4·为PHP安装加速器

[root@localhost ~]# tar zxvf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /opt
[root@localhost ~]# cd /opt/zend-loader-php5.5-linux-x86_64/
[root@localhost zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php


5·配置PHP识别加速器

[root@localhost ~]# vim /usr/local/php5/php.ini
在文件末尾插入:[Zend Guard Loader]
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1


CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

6·开启nginx的PHP支持

[root@localhost ~]# cd /usr/local/php5/etc/
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
[root@localhost etc]# useradd -M -s /sbin/nologin php (差点忘记了)


7·修改php-fpm配置文件

[root@localhost etc]# vim php-fpm.conf -----(这里是修改文件)
pid = run/php-fpm.pid
user = php
group = php
pm.max_children=50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35

[root@localhost etc]# /usr/local/sbin/php-fpm -------------(使文件生效)
[root@localhost etc]# netstat -tnal | grep 9000 -------------(查看一下端口)


8·让nginx支持PHP功能

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf ----(就是修改Nginx配置文件)

location ~ .php$ {
root /var/www/benet;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}

在server 里面加入以上参数,如下图:

CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

9·检查 nginx 配置文件,并重启nginx 服务、查看状态

[root@localhost conf]# nginx -t
[root@localhost conf]# systemctl restart nginx
[root@localhost conf]# systemctl status nginx


10·测试 PHP 页面
[root@localhost conf]# mkdir -p /var/www/benet
[root@localhost conf]# vim /var/www/benet/index.php
<?php
phpinfo();
?>


CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

11·开始测试,访问

CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

安装 Discuz 论坛

1·我们在 LNMP 搭建好了之后,就可以基于此基础 安装软件了,这里以 Discuz 论坛 为列
2·要安装 Discuz 论坛需要给此论坛创建一个数据库,并且创建一个用户管理它
3·进入 MySQL 数据库 创建一个新的数据库名字叫 bbs

[root@localhost ~]# mysql -u root -p -----(输入密码进入)
mysql> create databases bbs; ------(创建一个库 名字叫 bbs 以分号结尾)
mysql> grant all on bbs.* to 'bbsuser'@'%' identified by 'admin123';

给bbsuser 这个用户在任意一台服务器上登陆,登陆密码是 ‘admin123’ ,对bbs这个库,这个库里面的所有表拥有所有权限。
mysql> flush privileges; ----(刷新数据库,立即生效)


·测试数据库,以下是测试代码:vim /var/www/benet/index.php

<?php
$link=mysql_connect('主机IP','bbsuser','admin123');
if($link) echo "Success!!";
else echo "Fail!!";
mysql_close();
?>


解压 Discuz 软件包、优化内容
[root@localhost ~]# unzip Discuz_X3.3_SC_UTF8.zip -d /opt/dis
[root@localhost ~]# cd /opt/dis
[root@localhost dis]# cp -r upload/ /var/www/benet/bbs
[root@localhost dis]# cd /var/www/benet/bbs
[root@localhost bbs]# chown -R php ./config
[root@localhost bbs]# chown -R php ./data
[root@localhost bbs]# chown -R php ./uc_client
[root@localhost bbs]# chown -R php ./uc_server/data


开始安装
安装是在 windows 7 上安装,访问地址是:如下图

CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

Discuz 安装完成,我们可以访问管理后台。

CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

CentOS 7 (手工编译)搭建 LNMP 架构详细过程 + Discuz 论坛安装

总结:

1·关于 一些 Nginx 其他配置可以看看Nginx 优化


2·在整个 LNMP 的安装过程中,说不一定就会报一些错,只是没有遇到,报错就上百度多查查。


3·需要知道 Nginx 的优点在哪里,它的高并发连接,和动静态的分离,还有资源占用极少等等。


4·在LNMP 中的php是用php-fpm模块来做动态工作工作的。但是在LAMP中PHP只是一个模块而已。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CentOS 7是一种流行的Linux操作系统LNMP代表着使用LinuxNginxMySQL和PHP构建的服务器环境。在CentOS 7上编译安装LNMP可以提供一个非常强大和灵活的Web服务器环境。 首先,我们需要在CentOS 7上安装必要的软件包和依赖项。打开终端,使用以下命令安装必要的软件包: ``` sudo yum install -y epel-release ``` 接下来,我们需要安装LNMP的各个组件。首先,安装Nginx: ``` sudo yum install -y nginx ``` 安装完成后,启动Nginx服务: ``` sudo systemctl start nginx ``` 然后,我们需要安装MySQL数据库。使用以下命令安装MySQL: ``` sudo yum install -y mariadb-server mariadb ``` 安装完成后,启动MySQL服务: ``` sudo systemctl start mariadb ``` 接下来,我们需要设置MySQL的安全性选项: ``` sudo mysql_secure_installation ``` 按照提示设置密码和其他选项。 最后,我们需要安装PHP。使用以下命令安装PHP及相关扩展: ``` sudo yum install -y php php-fpm php-mysql ``` 安装完成后,启动PHP-FPM服务: ``` sudo systemctl start php-fpm ``` 现在,您的CentOS 7上已经成功安装LNMP。您可以通过在浏览器中输入服务器的IP地址来测试您的Web服务器,您将看到Nginx的默认欢迎页面。您可以将您的Web应用程序放置在Nginx的默认根目录"/usr/share/nginx/html"下,或者您可以根据需要进行自定义。 这只是一个简单的步骤指南,您可能需要根据您的具体需求进行一些其他设置和配置。不过,这个简单的安装方法应该可以让您在CentOS 7上快速搭建一个LNMP服务器环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安享落幕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值