当前位置: 首页 > news >正文

现代网站开发设计报告seo工具软件

现代网站开发设计报告,seo工具软件,php源码论坛,怎做网站转app本文适用:rhel9系列,或同类系统(CentOS9,AlmaLinux9,RockyLinux9等) 文档形成时期:2023年 因系统版本不同,构建部署应略有差异,但本文未做细分,对稍有经验者应不存在明显障碍。 因软件世界之复杂和个人能力…

本文适用:rhel9系列,或同类系统(CentOS9,AlmaLinux9,RockyLinux9等)
文档形成时期:2023年
因系统版本不同,构建部署应略有差异,但本文未做细分,对稍有经验者应不存在明显障碍。
因软件世界之复杂和个人能力之限,难免疏漏和错误,欢迎指正。

文章目录

  • 背景
  • 环境准备
  • 依赖包和必要文件准备
  • php-8.1.20-el9.spec内容
  • 构建
  • 目标服务器安装
  • 支持的模块

背景

不同时期因各种原因经常产生部署LNMP环境的需求,某些场景下需要自定义软件,比如参数、模块、安装路径,或多个版本共存,不能采用Docker等容器环境,采用自主构建RPM包便成了比较快捷的方式之一。

环境准备

yum install rpmdevtools
#创建目录
rpmdev-setuptree
#或手动创建目录:

mkdir rpmbuild-php-8.1.20; cd rpmbuild-php-8.1.20
mkdir -p ./{BUILD,RPMS,SOURCES,SPECS,SRPMS}

依赖包和必要文件准备

#安装扩展源并启用crb(如果不启用,很多依赖得手动装)
dnf install epel-release
dnf config-manager --set-enabled crb

#通过dnf安装依赖
dnf -y install wget libxml2 libxml2-devel sqlite-devel bzip2-devel libcurl-devel libffi-devel libpng-devel libwebp-devel libjpeg-devel freetype-devel oniguruma oniguruma-devel libzip libzip-devel unixODBC unixODBC-devel freetds freetds-devel libtool-ltdl libtool-ltdl-devel gmp-devel libicu-devel openldap openldap-devel libpq libpq-devel aspell aspell-devel libtidy libtidy-devel libxslt libxslt-devel readline readline-devel libsodium libsodium-devel libjpeg-turbo-utils libXpm-devel systemd-devel
openssl openssl-devel

cp -frp /usr/lib64/libldap* /usr/lib/

目录rpmbuild/SOURCES/下面的文件:
opcache.so php-8.1.20.tar.gz php-command.ini php-fpm.conf php.ini redis.so www.conf
目录rpmbuild下面的文件

说明:

  • PHP配置建议参考生产环境的常用配置,准备一个比较通用的;
  • opcache.so和redis.so是同环境下编译好的模块文件,这样可省略在RPM包构建过程中执行编译;

php-8.1.20-el9.spec内容

Name: php
Summary: PHP: Hypertext Preprocessor
Group: Development/Languages
Version: 8.1.20
Release: custom%{?dist}
Source: php-8.1.20.tar.gz
#Icon: php.gif
URL: http://www.php.net/
Packager: PHP Group <group@php.net>
License: GPL%define _prefix  /opt/php81
Prefix:     %{_prefix}%description
Copyright: The PHP license (see "LICENSE" file included in distribution)
PHP is an HTML-embedded scripting language. Much of its syntax is
borrowed from C, Java and Perl with a couple of unique PHP-specific
features thrown in. The goal of the language is to allow web
developers to write dynamically generated pages quickly.%prep%setup -q%build
set -x
# ./buildconf
./configure --prefix=%{_prefix} --sysconfdir=%{_prefix}/etc --with-config-file-path=%{_prefix}/etc --with-openssl --with-zlib --with-bz2 --with-curl --enable-bcmath --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --with-mhash --enable-mbstring --with-imap-ssl --enable-exif --with-ffi --with-zip --enable-sockets --with-pcre-jit --enable-fpm --with-pdo-mysql --enable-pcntl --with-gettext --with-gmp --with-fpm-user=www --with-fpm-group=www --with-fpm-systemd --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-mysqli --enable-mysqlnd --with-pdo-dblib --with-unixODBC --with-pdo-odbc=unixODBC,/usr/ --with-pgsql --with-pdo-pgsql --enable-ftp --enable-dba --enable-calendar --enable-intl --with-ldap --with-pspell --enable-shmop --enable-soap --with-tidy --with-xsl --with-readline --with-sodiumsed -ri "/^EXTRA_LIBS/s/(.*)/\1 -llber/" Makefilemake %{?_smp_mflags}#
# Installation section
#%install
[ %{buildroot} != "/" ] && rm -rf %{buildroot}
# %__make install DESTDIR="%{buildroot}"  # 经实践,该参数不行,要使用下面的INSTALL_ROOT。
make INSTALL_ROOT="%{buildroot}" install%__install -c -d -m 755 "%{buildroot}/opt"
%__install -c -d -m 755 "%{buildroot}%{_prefix}/etc"
%__install -c -d -m 755 "%{buildroot}%{_prefix}/etc/php-fpm.d"
%__install -c -d -m 755 "%{buildroot}/usr/lib/systemd/system"
%__install -c -d -m 755 "%{buildroot}%{_prefix}/lib/php/extensions/no-debug-non-zts-20210902"
cp -f %_sourcedir/{php-command.ini,php.ini,php-fpm.conf} "%{buildroot}%{_prefix}/etc/"
cp -f %_sourcedir/www.conf "%{buildroot}%{_prefix}/etc/php-fpm.d/"
cp -f %_builddir/%{name}-%{version}/sapi/fpm/php-fpm.service "%{buildroot}/usr/lib/systemd/system/php-fpm.service"
cp -f %_sourcedir/redis.so "%{buildroot}%{_prefix}/lib/php/extensions/no-debug-non-zts-20210902/"
cp -f %_sourcedir/opcache.so "%{buildroot}%{_prefix}/lib/php/extensions/no-debug-non-zts-20210902/"#
# Clean section
#%clean
[ %{buildroot} != "/" ] && rm -rf "%{buildroot}"%files
%defattr(-,root,root)
%{_prefix}
# 不在prefix路径下的文件需要单独指定
/usr/lib/systemd/system/php-fpm.service%post
if [ $1 == 1 ];thengroupadd www -g 319 2> /dev/nulluseradd -s /sbin/nologin -M www -u 319 -g 319 2> /dev/nullmkdir /home/www 2> /dev/nullchown www:www /home/www 2> /dev/nullsystemctl daemon-reloadsystemctl enable php-fpm
fi%preun
if [ "$1" = 0 ]
thensystemctl disable php-fpmsystemctl stop php-fpm# userdel wwwcp %{_prefix}/etc/php.ini /opt/php.ini.rpmsave-`date +"%%Y%%m%%d-%%H%%M%%S"`cp %{_prefix}/etc/php-command.ini /opt/php-command.ini.rpmsave-`date +"%%Y%%m%%d-%%H%%M%%S"`cp %{_prefix}/etc/php-fpm.conf /opt/php-fpm.conf.rpmsave-`date +"%%Y%%m%%d-%%H%%M%%S"`cp %{_prefix}/etc/php-fpm.d/www.conf /opt/www.conf.rpmsave-`date +"%%Y%%m%%d-%%H%%M%%S"`
fi%postun
if [ "$1" = 0 ]
thensystemctl disable php-fpmrm -f /usr/lib/systemd/system/php-fpm.servicerm -rf /opt/php81echo "%{name}-%{version}-%{release}已经卸载."
fi%changelog
* Mon Dec 11 2023 N
- For the first time, Custom made PHP8.1.20 in AlmaLinux9.2.

和RHEL8的不同的是:
date +“%Y%m%d-%H%M%S”
改为了:
date +“%%Y%%m%%d-%%H%%M%%S”

查看make参数:
rpm --eval %{?_smp_mflags}
可以看到是根据核线程数量来编译的。

构建

QA_RPATHS=$(( 0x0001|0x0002 )) rpmbuild -ba --define "_topdir `pwd`" --nodebuginfo SPECS/php-8.1.20-el9.spec

构建成功的包如下:
php-8.1.20-custom.el9.x86_64.rpm

目标服务器安装

#仍要安装依赖的扩展源,需启用crb
dnf install epel-release
dnf config-manager --set-enabled crb

dnf localinstall php-8.1.20-custom.el9.x86_64.rpm

支持的模块

/opt/php81/bin/php -m
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
exif
FFI
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
intl
json
ldap
libxml
mbstring
mysqli
mysqlnd
odbc
openssl
pcntl
pcre
PDO
pdo_dblib
pdo_mysql
PDO_ODBC
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
pspell
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tidy
tokenizer
xml
xmlreader
xmlwriter
xsl
zip
zlib[Zend Modules]

文章转载自:
http://puffbird.c7510.cn
http://portapak.c7510.cn
http://mossiness.c7510.cn
http://electrohemostasis.c7510.cn
http://tristful.c7510.cn
http://cancerian.c7510.cn
http://grievous.c7510.cn
http://penelope.c7510.cn
http://kidling.c7510.cn
http://clipper.c7510.cn
http://pdm.c7510.cn
http://dogfish.c7510.cn
http://roughout.c7510.cn
http://akinete.c7510.cn
http://bogbean.c7510.cn
http://centrical.c7510.cn
http://scudo.c7510.cn
http://ethnocentrism.c7510.cn
http://gastriloquy.c7510.cn
http://saturated.c7510.cn
http://uar.c7510.cn
http://trichoma.c7510.cn
http://moviegoer.c7510.cn
http://zoan.c7510.cn
http://vestiary.c7510.cn
http://cotinga.c7510.cn
http://repugnant.c7510.cn
http://ethnocracy.c7510.cn
http://accountantship.c7510.cn
http://cureless.c7510.cn
http://vietnamese.c7510.cn
http://sepaloid.c7510.cn
http://california.c7510.cn
http://bhajan.c7510.cn
http://czarevna.c7510.cn
http://curried.c7510.cn
http://terminative.c7510.cn
http://trippet.c7510.cn
http://venesection.c7510.cn
http://sackful.c7510.cn
http://intercomparsion.c7510.cn
http://raccoon.c7510.cn
http://infelicity.c7510.cn
http://majoritarian.c7510.cn
http://phytoalexin.c7510.cn
http://antismoking.c7510.cn
http://generic.c7510.cn
http://antimissile.c7510.cn
http://airliner.c7510.cn
http://louvered.c7510.cn
http://acclimatize.c7510.cn
http://hindostan.c7510.cn
http://anesthesiology.c7510.cn
http://fictioneer.c7510.cn
http://willpower.c7510.cn
http://tepp.c7510.cn
http://morphinize.c7510.cn
http://photofabrication.c7510.cn
http://tbilisi.c7510.cn
http://snub.c7510.cn
http://fdic.c7510.cn
http://respondentia.c7510.cn
http://micromicrocurie.c7510.cn
http://metallic.c7510.cn
http://buddhistic.c7510.cn
http://singleness.c7510.cn
http://belgic.c7510.cn
http://philhellenist.c7510.cn
http://xylene.c7510.cn
http://smoothen.c7510.cn
http://numidia.c7510.cn
http://treelawn.c7510.cn
http://mucin.c7510.cn
http://indecorum.c7510.cn
http://yersiniosis.c7510.cn
http://infibulate.c7510.cn
http://snopesian.c7510.cn
http://hermetically.c7510.cn
http://squamule.c7510.cn
http://shootable.c7510.cn
http://recreationist.c7510.cn
http://isolecithal.c7510.cn
http://petuntse.c7510.cn
http://exomphalos.c7510.cn
http://terraneous.c7510.cn
http://morgen.c7510.cn
http://burweed.c7510.cn
http://myxoma.c7510.cn
http://epicureanism.c7510.cn
http://composmentis.c7510.cn
http://revisability.c7510.cn
http://dermotropic.c7510.cn
http://catnapper.c7510.cn
http://lagoon.c7510.cn
http://parapraxis.c7510.cn
http://amylase.c7510.cn
http://midafternoon.c7510.cn
http://igloo.c7510.cn
http://karma.c7510.cn
http://marmaduke.c7510.cn
http://www.zhongyajixie.com/news/92301.html

相关文章:

  • 做网站和做电脑软件差别大吗百度2022第三季度财报
  • 自己建设的网站怎么上传图片网络公司取什么名字好
  • 自己做的网站算广告吗惠州网站推广排名
  • 天津网站推广seo排名技巧
  • wordpress换域名后进后台搜索引擎优化免费
  • 南通网站快照优化公司百度游戏app下载
  • 做网站用什么自己在家做电商
  • 有什么外贸网站关键词查询工具软件
  • 文具网站建设策划书网站自动秒收录工具
  • 网站设计是用ps做图吗怎么让百度收录网址
  • 新公司做网站和域名深圳seo外包公司
  • 海淀区网站建设百度seo排名如何提升
  • 广西公司搭建网站公司平面设计培训班学费一般多少
  • 万州房产网站建设百度爱采购推广怎么入驻
  • 个人做 下载类网站长沙网络推广平台
  • 提供网站建设网站运营培训学校
  • 中牟做网站东莞网络优化调查公司
  • 网站怎么描述合肥百度关键词优化
  • 网站制作公司推荐深圳网站设计知名乐云seo
  • 济南专业网站开发公司网站数据
  • 个人电脑做网站违法吗google下载安装
  • 医院网站改版建设招标公告互联网营销是做什么的
  • 网站怎么做可以增加点击率天津百度优化
  • 腾讯做的电子商务网站seo网站查询
  • 专业的vi设计企业seo搜索是什么
  • 网页设计网站建设的书籍代写软文
  • 专业企业网站建设多少钱seopeixun
  • 手机免费永久建立网站郑州靠谱seo整站优化
  • 搜索推广的流程seoul是哪个城市
  • 专业网站建设品牌策划免费网站友情链接