优化gcc编译apache参数 在四核linux上

优化gcc编译apache参数 在四核linux上,第1张

CHOST是没错的 ,但是你的CFLAGS不对, 对于GCC4.2.2以上的版本 ,不需要那么复杂,-march=native就足够了

CHOST="x86_64-pc-linux-gnu"

CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"

CXXFLAGS="${CFLAGS}"

而且目前的硬件环境,-O2足矣 ,-O3很多时候甚至不如-O2 ,而且可能会有隐患

当然如果你不太信任这个 ,还是觉得原始的-march好一点 那么可以用下面的

32位系统的调优参数

CHOST="i686-pc-linux-gnu"

CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"

CXXFLAGS="${CFLAGS}"

64位系统的调优参数

CHOST="x86_64-pc-linux-gnu"

CFLAGS="-march=nocona -O2 -pipe -fomit-frame-pointer"

CXXFLAGS="${CFLAGS}"

另外 事实上 -march=native是gcc自动选择最适合cpu的优化

-march=prescott 和 -march=nocona 前者是32位使用的 后者是64位使用的,而且这个march中已经包含了该级别cpu所有的-msse2 -mmmx -mfpmath=sse -msse3 -mssse3这些标签 所以不需要再额外添加

-msse2 -mmmx这些是针对-march=i686这样的基础标签的补充

另外,apache上,用gcc优化编译出来对性能可以说没什么提升,跟直接安装二进制包的差距微不可闻 ,毕竟apache是个吃内存的服务 所以 稳定性第一啦

在Linux下安装PHP,源代码方式安装,总需要配置很多参数。这里列出常用配置参数,并详细用中文解释说明了。给大家一些参考./configure

--prefix=/usr/local/php

php

安装目录

--with-apxs2=/usr/local/apache/bin/apxs

--with-config-file-path=/usr/local/php/etc

指定php.ini位置

--with-MySQL=/usr/local/mysql

mysql安装目录,对mysql的支持

--with-mysqli=/usr/local/mysql/bin/mysql_config

mysqli文件目录,优化支持

--enable-safe-mode

打开安全模式

--enable-ftp

打开ftp的支持

--enable-zip

打开对zip的支持

--with-bz2

打开对bz2文件的支持

--with-jpeg-dir

打开对jpeg图片的支持

--with-png-dir

打开对png图片的支持

--with-freetype-dir

打开对freetype字体库的支持

--without-iconv

关闭iconv函数,种字符集间的转换

--with-libXML-dir

打开libxml2库的支持

--with-xmlrpc

打开xml-rpc的c语言

--with-zlib-dir

打开zlib库的支持

--with-gd

打开gd库的支持

--enable-gd-native-ttf

支持TrueType字符串函数库

--with-curl

打开curl浏览工具的支持

--with-curlwrappers

运用curl工具打开url流

--with-ttf

打开freetype1.*的支持,可以不加了

--with-xsl

打开XSLT

文件支持,扩展了libxml2库

,需要libxslt软件

--with-gettext

打开gnu

的gettext

支持,编码库用到

--with-pear

打开pear命令的支持,php扩展用的

--enable-calendar

打开日历扩展功能

--enable-mbstring

多字节,字符串的支持

--enable-bcmath

打开图片大小调整,用到zabbix监控的时候用到了这个模块

--enable-sockets

打开

sockets

支持

--enable-exif

图片的元数据支持

--enable-magic-quotes

魔术引用的支持

--disable-rpath

关闭额外的运行库文件

--disable-debug

关闭调试模式

--with-mime-magic=/usr/share/file/magic.mime

魔术头文件位置

CGI方式安装才用的参数

--enable-fpm

打上php-fpm

补丁后才有这个参数,cgi方式安装的启动程序

--enable-fastcgi

支持fastcgi方式启动php

--enable-force-cgi-redirect

同上

,帮助里没有解释

--with-ncurses

支持ncurses

屏幕绘制以及基于文本终端的图形互动功能的动态库

--enable-pcntl

freeTDS需要用到的,可能是链接mssql

才用到

mhash和mcrypt算法的扩展

--with-mcrypt

算法

--with-mhash

算法

--with-gmp

--enable-inline-optimization

--with-openssl

openssl的支持,加密传输时用到的

--enable-dbase

--with-pcre-dir=/usr/local/bin/pcre-config

perl的正则库案安装位置

--disable-dmalloc

--with-gdbm

dba的gdbm支持

--enable-sigchild

--enable-sysvsem

--enable-sysvshm

--enable-zend-multibyte

支持zend的多字节

--enable-mbregex

--enable-wddx

--enable-shmop

--enable-soap

首先你得编译apache的一个模块,你可以检查你的配置文件(httpd.conf)中是否有LoadModule status_module modules/mod_status.so,如果有的话,说明你的apache已经加载了此模块。或者你编译的时候加上了--enable-module=so也表明服务器支持了,其实最好的办法就是照下面的步骤,先把server-status打开,看能否使用。如果没有这个模块该怎么添加上呢?

如果没有加载这个模块,如果您是linux服务器,那么就需要您重新编译apache了,编译的时候加上参数--enable-module=so即可,如果你是windows系统的话,无需任何编译,只要把刚才时候说的LoadModule status_module modules/mod_status.so这句加上,如果前面有带#号,开启的话,需要将#去除。

确认你的系统有这个模块之后,下面的工作就是配置server-status了!

CODE:

<Location /server-status>

SetHandler server-status

Order Deny,Allow

Deny from all

Allow from .foo.com

</Location>

ExtendedStatus On这是一个完整的server-status的配置

deny表示禁止的,如果你不想使用的话,可以设置为上面的设置,完全开启的话,此行整体删除即可,allow from表示可以通过那个地址访问,如果你在使用的话,可以设置为allow from all,最后一句表示的是待会访问的时候能看到详细的请求信息!

下面就可以通过url访问到server-status了,http://ip地址/server-status,你可以通过更改<Location /server-status>里面的server-status改变访问路径,比如该为<Location /discuz-status>,这样你就可以通过http://ip地址/discuz-status。上面的ip地址是和你的 Allow from设置有关,如果你这是设置为某一个指到你的ip上的域名的话,那么可以通过

http://域名/discuz-status来访问!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7615228.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存