企业---lnmp--(php--Discuz)

php

php-fpm:提供了更好地php进程管理方式,可以有效控制内存和进程

1)解压:tar jxf php-5.6.35.tar.bz2  ##会报错
yum -y install bzip2
##重新解压
tar jxf php-5.6.35.tar.bz2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2)进入解压后的目录,开始编译
cd /root/lnmp/php-5.6.35

./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --with-gmp --with-gettext --with-pear --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mhash

##出现此报错:
configure: error: in `/root/lnmp/php-5.6.35':
configure: error: no acceptable C compiler found in $PATH
##依次解决依赖性
安装:yum install  gcc gcc-c++ ncurses-devel -y

详解:
--with-config-file-path=/etc      指定php.ini位置
--with-MySQL=mysql安装目录,对mysql的支持
--with-MySQLi=mysqli文件目录,优化支持
--enable-fpm
PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,它其实是PHP源代码的一个补丁,旨在将Fast-CGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。新版的PHP已经集成了php-fpm,在./configure的时候带 –enable-fpm参数即可开启PHP-FPM
#以上为php需要编译的模块,把刚才编译mysql的参数要加进来,添加mysqlnd(这是mysql的驱动,php开发的)
--with-freetype-dir  打开对freetype字体库的支持 
--with-zlib 打开zlib库支


!!!!!!!!注意:在每次编译的时候,看报错的内容,报错需要什么就安装什么
每次将需要的软件安装好以后,重新编译,再次看报错的内容


yum install  libxml2-devel libcurl-devel  -y 
yum install openssl openssl-devel -y
yum whatprovides */jpeglib.h   ##寻找jpeglib.h文件
yum install libjpeg-turbo-devel-1.2.90-5.el7.x86_64 -y 
yum install libpng-devel-1.5.13-7.el7_2.x86_64 -y
yum install freetype-devel-2.4.11-12.el7.x86_64 -y 
yum install gmp-devel-6.0.0-12.el7_1.x86_64 -y

在这里插入图片描述
出现此报错:
在这里插入图片描述
安装:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

##编译报错,逐步解决依赖性(rhel7可以向下兼容6的包)
cd /root/lnmp ---> ls
yum install libmcrypt-devel-2.5.8-9.el6.x86_64.rpm re2c-0.13.5-1.el6.x86_64.rpm  ##(系统镜像没有的3个包) libmcrypt-2.5.8-9.el6.x86_64.rpm -y
yum install net-snmp net-snmp-devel -y
##最后重新编译,编译成功 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4)make && make install ##时间较长,等待

在这里插入图片描述

5)编译时添加了--with-fpm-user=nginx --with-fpm-group=nginx 参数
所以添加 nginx 用户  
useradd nginx

在这里插入图片描述

6)拷贝更改配置文件
cd /usr/local/lnmp/php/etc  ---> ls
cp php-fpm.conf.default php-fpm.conf
##查看配置文件中以下几项是否开启:
vim  php-fpm.conf
149:user = nginx     
150:group = nginx
25:pid = run/php-fpm.pid  ##取消注释

在这里插入图片描述
vim php-fpm.conf在这里插入图片描述
在这里插入图片描述

 
7)拷贝更改php主配置文件
cd /root/lnmp/php-5.6.35
cp php.ini-production /usr/local/lnmp/php/etc/php.ini 
vim /usr/local/lnmp/php/etc/php.ini
936:date.timezone = Asia/Shanghai  ##修改时区

在这里插入图片描述
vim /usr/local/lnmp/php/etc/php.ini

在这里插入图片描述

8)拷贝php启动脚本至/etc/init.d/
 
cd /root/lnmp/php-5.6.35/sapi/fpm ---> ls
cp init.d.php-fpm /etc/init.d/php-fpm 
chmod +x /etc/init.d/php-fpm  ##添加执行权限

在这里插入图片描述

9)启动php:/etc/init.d/php-fpm start
netstat -antlp   ##查看端口9000

在这里插入图片描述
在这里插入图片描述
nginx

1)解压nginx:tar zxf nginx-1.14.0.tar.gz
2)进入nginx解压包:

cd nginx-1.14.0
vim src/core/nginx.h
修改:#define NGINX_VER          "nginx/"(将此行末尾显示nginx版本号的配置删除)

在这里插入图片描述
在这里插入图片描述

vim auto/cc/gcc 
修改:
# debug
#CFLAGS="$CFLAGS -g" (将这2行注释调,关闭debug)

在这里插入图片描述
3)编译安装nginx:

./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio --user=nginx --group=nginx
根据提示解决依赖性	##此处应该还需要安装pcre-devel

在这里插入图片描述
4)make && make install
在这里插入图片描述

5)修改nginx配置文件,开启php模块

vim /usr/local/lnmp/nginx/conf/nginx.conf
45    index  index.php index.html index.htm; (添加php页面)
 
65  location ~ \.php$ {
66             root           html;
67             fastcgi_pass   127.0.0.1:9000;
68             fastcgi_index  index.php;
69             #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
70             include        fastcgi.conf;
71         }

在这里插入图片描述
在这里插入图片描述
6)将nginx启动脚本链接到/usr/local/sbin/

 ln -s /usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin/
  nginx -t	##检测语法
  nginx		##开启nginx
  nginx -s reload   ##重载

在这里插入图片描述

7)尝试访问:http://172.25.78.1 ##是nginx默认页面

在nginx默认发布目录添加 index.php
vim /usr/local/lnmp/nginx/html/index.php
<?php
phpinfo()
?>

#可以看到php的默认页面

8)启动nginx并访问:http://172.25.0.1

nginx安装配置完成

vim /usr/local/lnmp/nginx/html/index.php
在这里插入图片描述
在这里插入图片描述

Discuz论坛搭建

1)解压 Discuz_X3.2_SC_UTF8.zip

yum install -y unzip  ##安装解压命令
cd /root/lnmp
unzip Discuz_X3.2_SC_UTF8.zip -d /usr/local/lnmp/nginx/html/

在这里插入图片描述
在这里插入图片描述
2)将解压后的upload目录改名为bbs,便于访问

cd /usr/local/lnmp/nginx/html/  ---> ls
mv upload bbs

在这里插入图片描述
3)浏览器访问:http://172.25.78.1/bbs
在这里插入图片描述
在这里插入图片描述
4)点击同意后会出现很多目录不存在和不可写的报错

##解决##
 
cd  /usr/local/lnmp/nginx/html/bbs

chmod 777 config/ -R
chmod 777 data/ -R
chmod 777 uc_server/ uc_client/  -R
给以上目录增加权限,再刷新就可以了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5)选择全新安装--->填写数据库名(任意) 数据库用户名:root 数据库密码:自己设定的数据库root用户密码
管理员帐号:admin 密码:redhat

在这里插入图片描述
6)下面会报数据库连接错误:No such file or directory

##解决##
编辑php主配置文件:
vim /usr/local/lnmp/php/etc/php.ini
pdo_mysql.default_socket= /usr/local/lnmp/mysql/data/mysql.sock
mysql.default_socket = /usr/local/lnmp/mysql/data/mysql.sock
mysqli.default_socket = /usr/local/lnmp/mysql/data/mysql.sock
以上路径为mysql安装的目录,根据自己的路径填写

重新加载php
/etc/init.d/php-fpm reload

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7)再次刷新页面,还是报错:Permission denied

##解决##
由于 nginx用户 对于 /usr/local/lnmp/mysql/data 目录没有权限
所以:chmod 755 data/
再次刷新,成功安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8)点击页面中“管理中心”,会出现报错:Please delete install/index.php via FTP!

##解决##
[root@server5 bbs]# pwd
/usr/local/lnmp/nginx/html/bbs/install
[root@server5 install]# rm -fr index.php 

再刷新页面,成功
'如果把nginx配置文件中php模块注释掉,再刷新页面,会让你下载,这就是打开php模块的原因'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值