Ubuntu环境怎么编译安装PHP和Nginx
发布时间 - 2023-05-13 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
# 源代码
# 配置文件
# 并安装
# 报错
# 是在
# 就不
# 我们可以
# 可以使用
# 当我们
# 解压缩
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
高端网站建设与定制开发一站式解决方案 中企动力
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
如何用狗爹虚拟主机快速搭建网站?
如何在企业微信快速生成手机电脑官网?
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
免费视频制作网站,更新又快又好的免费电影网站?
html5的keygen标签为什么废弃_替代方案说明【解答】
香港服务器WordPress建站指南:SEO优化与高效部署策略
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
香港服务器选型指南:免备案配置与高效建站方案解析
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
黑客如何利用漏洞与弱口令入侵网站服务器?
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
网站建设要注意的标准 促进网站用户好感度!
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
魔毅自助建站系统:模板定制与SEO优化一键生成指南
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
Laravel如何处理异常和错误?(Handler示例)
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
利用JavaScript实现拖拽改变元素大小
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
微信推文制作网站有哪些,怎么做微信推文,急?
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
深圳网站制作平台,深圳市做网站好的公司有哪些?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
大型企业网站制作流程,做网站需要注册公司吗?
如何在景安服务器上快速搭建个人网站?
如何批量查询域名的建站时间记录?
轻松掌握MySQL函数中的last_insert_id()
个人摄影网站制作流程,摄影爱好者都去什么网站?
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
iOS中将个别页面强制横屏其他页面竖屏
黑客如何通过漏洞一步步攻陷网站服务器?
Thinkphp 中 distinct 的用法解析
Android仿QQ列表左滑删除操作
Laravel怎么清理缓存_Laravel optimize clear命令详解
在线制作视频网站免费,都有哪些好的动漫网站?
Laravel中的Facade(门面)到底是什么原理
Laravel怎么使用Intervention Image库处理图片上传和缩放
如何快速搭建自助建站会员专属系统?
javascript日期怎么处理_如何格式化输出
🚀拖拽式CMS建站能否实现高效与个性化并存?
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
如何在阿里云ECS服务器部署织梦CMS网站?
如何确保FTP站点访问权限与数据传输安全?
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
上一篇:群辉 docker是什么意思
下一篇:拼多多商家版退店需要哪些东西
上一篇:群辉 docker是什么意思
下一篇:拼多多商家版退店需要哪些东西


$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 0