Ubuntu如何编译安装PHP和Nginx
发布时间 - 2023-05-12 00:00:00 点击率:次编译安装nginx
切换目录到工作文件夹:
cd /usr/local/src
下载pcre源代码并安装
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz tar -zxvf pcre2-10.20.tar.gz mv ./pcre2-10.20.tar.gz ./pcre cd pcre ./configure --prefix=/usr/local/pcre make && make install
下载zlib源代码并安装
wget http://tenet.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz tar -zxvf zlib-1.2.8.tar.gz mv ./zlib-1.2.8.tar.gz ./zlib cd zlib ./configure --prefix=/usr/local/zlib make && make install
下载nginx源代码并安装
wget http://nginx.org/download/nginx-1.8.1.tar.gz tar -zxvf nginx-1.8.1.tar.gz cd nginx-1.8.1 ./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre --with-zlib=/usr/local/zlib make && make install
开机启动nginx
添加/ect/init.d/nginx,并写入脚本
#! /bin/bash
# description: startup script for webserver on centos. cp it in /etc/init.d and
# chkconfig --add nginx && chkconfig nginx on
# then you can use server command control nginx
#
# chkconfig: 2345 08 99
# description: starts, stops nginx
set -e
path=$path:/usr/local/nginx/sbin/
desc="nginx daemon"
name=nginx
daemon=/usr/local/nginx/sbin/$name
configfile=/usr/local/nginx/conf/nginx.conf
pidfile=/var/run/nginx.pid
scriptname=/etc/init.d/$name
# gracefully exit if the package has been removed.
test -x $daemon || exit 0
d_start() {
$daemon -c $configfile || echo -n " already running"
}
d_stop() {
kill -quit `cat $pidfile` || echo -n " not running"
}
d_reload() {
kill -hup `cat $pidfile` || echo -n " can't reload"
}
case "$1" in
start)
echo -n "starting $desc: $name"
d_start
echo "."
;;
stop)
echo -n "stopping $desc: $name"
d_stop
echo "."
;;
reload)
echo -n "reloading $desc configuration..."
d_reload
echo "reloaded."
;;
restart)
echo -n "restarting $desc: $name
"
d_stop
sleep 1
d_start
echo "."
;;
*)
echo "usage: $scriptname {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
exit 0chmod +x /etc/init.d/nginx chkconfig --add nginx chkconfig --level 2345 nginx on service nginx start
源码编译安装php5.6
下载php源代码
cd /usr/local/src wget http://cn2.php.net/get/php-5.6.24.tar.gz/from/this/mirror mv mirror php-5.6.24.tar.gz tar -zxvf php-5.6.24.tar.gz cd php-5.6.24
安装依赖的组件
xml扩展
apt-get install libxml2-dev
png扩展
apt-get install libpng12-dev
freetype扩展
apt-get -y install libfreetype6-dev
openssl扩展
apt-get install openssl apt-get install libcurl3-openssl-dev
jpeg扩展
apt-get install libjpeg-dev
编译语句
生成配置文件
./configure --prefix=/opt/php --with-config-file-path=/opt/php/lib --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl-dir=/usr --with-openssl --with-pdo-mysql=mysqlnd --with-pear --enable-sockets --with-freetype-dir=/usr --enable-gd-native-ttf --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli
安装了依赖的组件以后,应该就不会报错,如果报错请安装缺少的组件,然后重新生成配置文件。
编译&安装
make && make install
查看php服务器配置
当我们迁移服务器的时候,上述生成配置文件的代码需要与原php服务器的一直,我们可以使用php-config --configure-options查看。
php-config的位置在 php/bin/php-config
没有发现php.ini?
直接编译安装php之后,是没有php.ini的,我们可以从解压缩后的目录copy到/opt/php/lib,然后进行配置生效。
/opt/php/lib是在./configure中配置的路径
# ubuntu
# php
# nginx
# xml
# copy
# 源代码
# 配置文件
# 并安装
# 报错
# 是在
# 就不
# 我们可以
# 可以使用
# 当我们
# 解压缩
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
详解Huffman编码算法之Java实现
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
浅谈redis在项目中的应用
Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
网站建设整体流程解析,建站其实很容易!
Laravel如何实现用户注册和登录?(Auth脚手架指南)
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
iOS UIView常见属性方法小结
魔方云NAT建站如何实现端口转发?
Laravel如何与Pusher实现实时通信?(WebSocket示例)
PHP 500报错的快速解决方法
Python数据仓库与ETL构建实战_Airflow调度流程详解
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
如何用搬瓦工VPS快速搭建个人网站?
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
JavaScript模板引擎Template.js使用详解
html5的keygen标签为什么废弃_替代方案说明【解答】
如何做网站制作流程,*游戏网站怎么搭建?
如何快速搭建虚拟主机网站?新手必看指南
香港服务器部署网站为何提示未备案?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
Laravel如何实现API版本控制_Laravel版本化API设计方案
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
如何在万网自助建站平台快速创建网站?
微信小程序 配置文件详细介绍
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
JavaScript Ajax实现异步通信
常州企业网站制作公司,全国继续教育网怎么登录?
Laravel如何创建和注册中间件_Laravel中间件编写与应用流程
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
Laravel如何使用Gate和Policy进行授权?(权限控制)
Laravel如何实现本地化和多语言支持?(i18n教程)
网站制作软件有哪些,制图软件有哪些?
如何快速搭建自助建站会员专属系统?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】


"
d_stop
sleep 1
d_start
echo "."
;;
*)
echo "usage: $scriptname {start|stop|restart|force-reload}" >&2
exit 3
;;
esac
exit 0