php源码编译
1.从网上找到php的源码安装包
tar jxf php-5.6.38.tar
cd php-5.6.38
ls
yum install libxml2-devel -y
yum install openssl-devel -y
yum install curl-devel -y
yum install gmp-devel -y
yum install net-snmp-devel -y
###注意这几个包系统里面没有,你需要从网上下载
yum install -y gd-devel-2.0.35-11.el6.x86_64.rpm ##解决图片依赖
yum install libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
yum install libmcrypt-2.5.8-9.el6.x86_64.rpm
yum install rezc-0.13.5.1.el6.x86_64.rpm ##解决出现的一个警告,可不安装
./configure --prefix=/usr/local/lnmp/php # php安装的位置
--with-config-file-path=/usr/local/lnmp/php/etc #php配置文件所在的位置
--with-mysql=mysqlnd
--enable-mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--with-openssl
--with-snmp #用在监控网站中
--with-gd
--with-zlib
--with-libxml-dir
--with-png-dir
--with-jpeg-dir
--with-freetype-dir
--with-pear
--with-gettext
--with-gmp
--enable-inline-optimization
--enable-soap
--enable-ftp
--enable-sockets
--enable-mbstring
--enable-fpm # 开启fpm模式(nginx等服务用的)
--with-fpm-user=nginx # 对PHP服务的限制通过nginx用户来实现
--with-fpm-group=nginx # PHP以nginx用户组身份运行
--with-mcrypt # 提供了对多种块算法的支持 主要用来实现加密等算法
--with-mhash # 加密算法
编译和安装
make && make install
vim /usr/local/lnmp/php/etc/php-fpm.conf
将25行的注释去掉
在936行修改时区
添加nginx用户,否则后面开启服务时会报错
查看端口状态
nginx源码编译安装
vim src/core/nginx.h 去掉版本号
vim auto/cc/gcc 注释172行
解决编译过程中需要安装的软件
yum install -y pcre-devel
yum install -y openssl-devel
yum install gcc -y
进行预编译
ln -s /usr/local/lnmp/nginx/sbin/nginx /sbin/ 做软链接
配置nginx服务
cd /usr/local/lnmp/nginx/conf
vim nginx.conf
vim /etc/security/limits.conf
cd /usr/local/lnmp/nginx/html
vim index.php
在网站访问测试
vim nginx.conf
mysql源码安装
直接执行完上面命令后,会报错,要解决一系列依赖性
yum install gcc gcc-c++ ncurses-devel bison -y
删除cmake缓存文件,因为编译时会优先读取cmake缓存文件,要将缓存文件删了,重新编译
rm -f CMakeCache.txt
make && make install
配置mysql
查看support-files文件夹的内容,发现并没有my_default.cnf默认的配置文件,如果没有默认的配置文件,需要手动创建一个my_default.cnf配置文件,我从网上找了一个配置文件,进行了相关的修改
vim my_default.cnf
cp my_default.cnf /etc/my.cnf
cp mysql.server /etc/init.d/mysqld 将编译完成的mysql启动脚本复制到系统启动服务的默认目录中
groupadd -g 27 mysql 建立mysq组
useradd -u 27 -g 27 -s /sbin/nologin mysql
cd /usr/local/lnmp/mysql/
chown mysql.mysql . -R 更改此目录中的所有文件的用户和组
vim .bash_profile 将编译生成的mysql二进制命令放进系统的环境变量文件中,保证可以直接调用该二进制命令
source .bash_profile 加载文件
复制最后一行冒号后的生成的临时密码,后面会用
将/usr/local/lnmp/mysql/目录及目录下的文件改为超户,除了data目录任为mysql,因为mysql服务器要往这个目录中写数据
mysql_secure_installation
(1)在第一次交互请求后面输入刚刚初始化时复制的临时密码
(2)然后输入两次新密码
(3)接下来的交互式请求可以直接回车,这条交互式请求是询问你是否要检查密码强度,如果输入y,就要重新修改密码,密码长度必须超过8位,必须有大小写字母, 所以我们直接回车
(4)接下来会询问是否要修改root密码,直接回车,因为上面已经设置过了
(5)接下来全部输入y回车就行 ,现在就可以直接进入mysql了
输入设置的密码进入数据库
搭建论坛
yum install unzip -y
unzip Discuz_X3.2_SC_UTF8.zip -d /usr/local/lnmp/nginx/html/ 解压到指定目录,nginx的默认发布目录
cd /usr/local/lnmp/nginx/html/
mv upload bbs 改目录
cd /bbs
chmod 777 config/ data/ uc_server/ uc_client/ -R ###修改里面目录权限
vim /usr/local/lnmp/php/etc/php.ini 修改三处
刷新页面后,又出现权限受限的报错