CentOS环境中安装配置lighttpd+php+fastcgi+eAccelerator
thinkphp centos伪静态规则
ThinkPHP CentOS伪静态规则一、概述在使用ThinkPHP框架开发网站时,为了提高网站的性能和SEO优化,我们通常会采用伪静态技术来隐藏URL中的参数,并将其转化为有意义的静态URL。
本文将介绍在CentOS系统下如何配置ThinkPHP伪静态规则。
二、Apache服务器配置要实现ThinkPHP的伪静态功能,我们首先需要在Apache服务器上进行配置。
以下是具体步骤:1. 安装Apache服务器在CentOS系统上安装Apache服务器可以使用以下命令:sudo yum install httpd2. 启动Apache服务器安装完成后,使用以下命令启动Apache服务器:sudo systemctl start httpd3. 修改Apache配置文件Apache的配置文件位于/etc/httpd/conf/httpd.conf。
使用文本编辑器打开该文件,并找到以下内容:<Directory "/var/www/html">AllowOverride None</Directory>将AllowOverride None改为AllowOverride All,保存并关闭文件。
4. 重启Apache服务器修改配置文件后,需要重启Apache服务器使配置生效:sudo systemctl restart httpd三、ThinkPHP伪静态规则配置在完成Apache服务器的配置后,我们需要在ThinkPHP应用中进行伪静态规则的配置。
以下是具体步骤:1. 创建.htaccess文件在ThinkPHP应用的根目录下创建一个名为.htaccess的文件,并将以下内容复制到文件中:RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]2. 配置URL模式在ThinkPHP的配置文件config.php中,找到以下内容:'url_model' => 0,将url_model的值改为2,即开启了PATHINFO模式。
lighttpd配置
lighttpd缓存配置Lighttpd 缓存再某些情况下,比squid要强大。
1,首先去下载带缓存模块的lighttpd源代码包lighttpd-1.4.26.modcache.v.1.8.3-2.tar.gzwget -S /files/lighttpd-1.4.26.modcache.v.1.8.3-2.tar.gz 2,安装包tar zxvf lighttpd-1.4.26.modcache.v.1.8.3-2.tar.gzcd lighttpd-1.4.26./configure --prefix=/usr/local/lighttpdmakemake install3,拷贝配置文件到指定的目录中cp /usr/local/src/lighttpd-1.4.26/doc/lighttpd.conf /usr/local/lighttpd/lighttpd.conf4,编辑配置文件我的配置文件如下:# lighttpd configuration file############ Options you really have to take care of ####################server.modules = ("mod_rewrite","mod_redirect","mod_access","mod_fastcgi","mod_cache", //这个要开启"mod_proxy", //这个也必须开启,并且要注意顺序"mod_cgi","mod_compress",//支持压缩"mod_expire","mod_accesslog" )server.document-root = "/var/www/html/" /配置文件目录server.errorlog = "/var/log/lighttpd/error.log" //s = ( "index.php", "index.html", "index.htm", "default.htm" )# mimetype mappingmimetype.assign = (".pdf" => "application/pdf",".sig" => "application/pgp-signature",".spl" => "application/futuresplash",".class" => "application/octet-stream",".ps"=> "application/postscript",".torrent" => "application/x-bittorrent",".dvi" => "application/x-dvi",".gz" => "application/x-gzip",".pac"=> "application/x-ns-proxy-autoconfig", ".swf" => "application/x-shockwave-flash", ".tar.gz" => "application/x-tgz",".tgz" => "application/x-tgz",".tar" => "application/x-tar",".zip" => "application/zip",".mp3" => "audio/mpeg",".m3u" => "audio/x-mpegurl",".wma" => "audio/x-ms-wma",".wax" => "audio/x-ms-wax",".ogg" => "application/ogg",".wav" => "audio/x-wav",".gif" => "image/gif",".jar" => "application/x-java-archive",".jpg" => "image/jpeg",".jpeg" => "image/jpeg",".png" => "image/png",".xbm" => "image/x-xbitmap",".xpm" => "image/x-xpixmap",".xwd" => "image/x-xwindowdump",".css" => "text/css",".html" => "text/html",".htm" => "text/html",".js" => "text/javascript",".asc" => "text/plain",".c" => "text/plain",".cpp" => "text/plain",".log" => "text/plain",".conf" => "text/plain",".text" => "text/plain",".txt" => "text/plain",".dtd" => "text/xml",".xml" => "text/xml",".mpeg" => "video/mpeg",".mpg" => "video/mpeg",".mov" => "video/quicktime",".qt" => "video/quicktime",".avi" => "video/x-msvideo",".asf"=> "video/x-ms-asf",".asx" => "video/x-ms-asf",".wmv" => "video/x-ms-wmv",".bz2" => "application/x-bzip",".tbz" => "application/x-bzip-compressed-tar",".tar.bz2" => "application/x-bzip-compressed-tar",# default mime type"" => "application/octet-stream",)accesslog.filename = "/var/log/lighttpd/access.log"url.access-deny = ( "~", ".inc" )$HTTP["url"] =~ "\.pdf$" {server.range-requests = "disable"}# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgistatic-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )######### Options that are good to be but not neccesary to be changed ######### bind to port (default: 80)#server.port = 81## bind to localhost (default: all interfaces)#server.bind = "127.0.0.1"//上面这两项可以自己绑定自己需要的ip和端口## error-handler for status 404#server.error-handler-404 = "/error-handler.html"#server.error-handler-404 = "/error-handler.php"//定义错误的页面## to help the rc.scripts#server.pid-file = "/var/run/lighttpd.pid"#### compress modulecompress.allowed-encodings = ("bzip2", "gzip", "deflate")compress.cache-dir = "/var/cache/lighttpd/compress/"compress.filetype = ("text/plain", "text/html")$HTTP["host"] == "" {compress.cache-dir = "/var/www/cache//"compress.filetype = ("text/plain", "text/html", "text/javascript", "text/css", "text/xml") }上面的这些是支持压缩下面是cache的一些设置cache.bases = ("/cache1/cache", "/cache2/cache") //将缓存的内容存放在哪里cache.support-queries = "enable"cache.dynamic-mode = "enable"//带?的url,默认是不缓存的,当cache.support-queries = "enable"、cache.dynamic-mode = "disable"时,缓存模块会把"/uri?q1" 或者"/uri?q2"看成是相同的url而缓存起来。
centos linux系统安全配置、php安全配置
centos linux系统安全配置、php安全配置一.centos 安全篇1,最小化安全系统,删除不必要的软件,关闭不必要的服务.# ntsysv以下仅列出需要启动的服务,未列出的服务一律推荐关闭,必要运行的服务再逐个打开.atdcrondirqbalancemicrocode_ctlnetworksshdsyslog2,删除finger程序,具体方法如下#rpm –e finger3,BOIS安全设置4,帐号安全设置修改/etc/login.def文件PASS_MAX_DAYS 120 设置密码过期日期◊设置密码最少更改日期◊PASS_MIN_DAYS 0PASS_MIN_LEN 10 设置密码最小长度◊PASS_WARN_AGE 设置过期提前警告天数◊ 7确保/etc/shadow为root只读确保/etc/passwd为root读写定期用密码工具检测用户密码强度5, /etc/exports如果通过NFS把文件共享出来,那么一定要配置”/etc/exports”文件,使得访问限制尽可能的严格.这就是说,不要使用通配符,不允许对根目录有写权限,而且尽可能的只给读权限.在/etc/exports文件加入:/dir/to/export (ro,root_squash)/dir/to/export (ro,root_squash)建议最好不要使用NFS.6,inetd.conf或xinetd.conf如果是inetd.conf建议注释掉所有的r开头的程序,exec等7,TCP_Wrappers在/etc/hosts.allow中加入允许的服务,在/etc/hosts.deny里加入这么一行ALL:ALL8,/etc/aliases文件Aliases文件如果管理错误或管理粗心就会造成安全隐患.把定义”decode”这个别名的行从aliases文件中删除.编辑aliases,删除或注释下面这些行:#games: root#ingres: root#system: root#toor: root#uucp: root#manager: root#dumper: root#operator: root#decode: root运行/usr/bin/nesaliases重新加载.9,防止sendmail被没有授权的用户滥用编辑sendmail.cf把PrivacyOptions=authwarnings改为PrivacyOptions=authwarnings,noexpn,novrfy10,不响应pingecho 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all11,使TCP SYN Cookie保护生效Echo 1 > /proc/sys/net/ipv4/tcp_syncookies12,删除不必要的用户和组用户删除的用户,如adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher等删除的组,如adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers等可以设置不可更改位chattr +i /etc/passwdchattr +i /etc/shadowchattr +i /etc/groupchattr +i /etc/gshadow13,防止任何人都可以用su命令成为root编辑su文件(vi /etc/pam.d/su),加入如下两行auth sufficient /lib/security/pam_rootok.so debugauth required /lib/security/pam_wheel.so group=wheel把能su为root的用户加入wheel组usermod -G10 username14,使Control+Alt+Delete关机键无效编辑inittab文件,注释掉Ca:ctrlaltdel:/sbin/shutdown –t3 –r now运行/sbin/init q 使设置生效15,创建所有重要的日志文件的硬拷贝如果服务器比较重要,可以考虑把ssh,mail,引导信息等打印出来.在/etc/syslog.conf文件中加入一行.:Authpriv.*;mail.*;local7.*;auth.*; /dev/lp0执行/etc/rc.d/init.d/syslog restart或者把日志发送到其它服务器保存如authpriv.* /var/log/secure要把它发送到192.168.0.2,就可以这样修改authpriv.* @192.168.0.2 /var/log/secure16,改变/etc/rc.d/init.d目录下的脚本文件的访问许可chmod –R 700 /etc/rc.d/init.d/*注意:慎重修改此安全设置17,/etc/rc.d/rc.local把此文件中无关的信息全部注释,不让任何人看到任何有关主机的信息. 删除/etc下的issue和18,带S位的程序可以清除s位的程序包括但不限于:从来不用的程序;⌝⌝不希望非root用户运行的程序;偶尔用用,但是不介意先用su命令变为root后再运行.⌝find / -type f \( -perm 04000 –o –perm -02000 \) -print chmod a-s 程序名19,查看系统隐藏文件find / -name “.*” –print20,查找任何人都有写权限的文件和目录find / -type f \( -perm -2 -o perm -20 \) lsfind / -type f \( -perm -2 –o –perm -20 \) ls21,查找系统中没有主人的文件find / -nouser –o –nogroup22,查找.rhosts文件find /home -name “.rhosts”如果有,请删除它.23,收回系统编译器的权限或删除如: chmod 700 /usr/bin/gcc24,用防火墙禁止(或丢弃) icmp 包iptables -A INPUT -p icmp -j DROP25,更改SSH端口,最好改为10000以上,别人扫描到端口的机率也会下降vi /etc/ssh/sshd_config将PORT改为1000以上端口同时,创建一个普通登录用户,并取消直接root登录useradd ‘username’passwd ‘username’vi /etc/ssh/sshd_config在最后添加如下一句:PermitRootLogin no #取消root直接远程登录26, chmod 600 /etc/xinetd.conf二.PHP 安全篇1、开启安全模式(做为商业应用的服务器不建议开启)#vi /usr/local/Zend/etc/php.ini (没装ZO时php.ini文件位置为:/etc/php.ini)safe_mode = On2、锁定PHP程序应用目录#vi /etc/httpd/conf.d/virtualhost.conf加入php_admin_value open_basedir /home/*** (***为站点目录)3、千万不要给不必要的目录给写权限,也就是777权限,根目录保持为711权限,如果不能运行PHP请改为7554、屏蔽PHP不安全的参数(webshell)#vi /usr/local/Zend/etc/php.ini (没装ZO时php.ini文件位置为:/etc/php.ini)disable_functions = system,exec,shell_exec,passthru,popen以下为我的服务器屏蔽参数:disable_functions =passthru,exec,shell_exec,system,set_time_limit,ini_alter,dl, pfsockopen,openlog,syslog,readlink,symlink,link,leak,fsockopen,popen, escapeshellcmd,error_log。
FastCGI 进程管理器 (FPM)安装与配置
FastCGI 进程管理器(FPM)安装与配置‘FPM (FastCGI 进程管理器) 用于替换PHP FastCGI的大部分附加功能,对于高负载网站是非常有用的。
它的功能包括:∙支持平滑停止/启动的高级进程管理功能;∙可以工作于不同的uid/gid/chroot环境下,并监听不同的端口和使用不同的php.ini配置文件(可取代safe_mode的设置);∙stdout 和 stderr 日志记录;∙在发生意外情况的时候能够重新启动并缓存被破坏的opcode;∙文件上传优化支持;∙"慢日志" - 记录脚本 (不仅记录文件名,还记录PHP backtrace信息,可以使用ptrace或者类似工具读取和分析远程进程的运行数据) 运行所导致的异常缓慢;∙fastcgi_finish_request()- 特殊功能:用于在请求完成和刷新数据后,继续在后台执行耗时的工作 (录入视频转换、统计处理等);∙动态/静态子进程产生;∙基本SAPI运行状态信息 (类似Apache的 mod_status);∙基于php.ini的配置文件.安装需求FPM使用libevent来管理链接和进程信号. 至少需要安装libevent-1.4.11或者以上版本.从源代码编译编译PHP时需要--enable-fpm配置选项来激活FPM支持以下为FPM编译的具体配置参数(全部为可选参数):∙--with-libevent-dir - 指定libevent的安装路径∙--with-fpm-user - 设置 FPM 运行的用户身份 (默认 - nobody).∙--with-fpm-group - 设置 FPM 运行时的用户组 (默认 - nobody).文档原创稿件由站长提供,下载使用请保留署名。
运行时配置FPM 配置文件为php-fpm.conf,其语法类似php.ini。
php-fpm.conf全局配置段pid stringPID文件的位置. 默认为空.error_log string错误日志的位置. 默认:安装路径#INSTALL_PREFIX#/log/php-fpm.log. log_level string错误级别. 可用级别为: alert(必须立即处理), error(错误情况),warning(警告情况), notice(一般重要信息), debug(调试信息). 默认: notice.emergency_restart_threshold int如果子进程在emergency_restart_interval设定的时间内收到该参数设定次数的SIGSEGV 或者 SIGBUS退出信息号,则FPM会重新启动。
Centos6.5下安装Apache_mysql_php源码包安装(LAMP环境搭建图文教程)
Centos6.5下安装Apache_mysql_php源码包安装(LAMP环境搭建图文教程)Centos6.5_Apache_mysql_php(LAMP环境搭建图文教程)安装内容详细介绍:编译安装过程介绍一、解压tar.gz为后缀的压缩软件包二、在Centos系统中源代码包安装过程配置(configure)编译(make)安装(make install)各个软件编译安装顺序搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按Apache->MySQL->PHP顺序安装。
但在安装PHP之前,应先安装PHP5需要的最新版本库文件,例如libxml2、libmcrypt以及GD2库等文件。
安装GD2库是为了让PHP5支持GIF、PNG和JPEG图片格式,所以在安装GD2库之前还要先安装最新的zlib、libpng、freetype 和jpegsrc等库文件。
而且中间还会穿插安装一些软件。
读者可以按照本节提供的顺序安装检查安装时使用的编译工具是否存在Gcc -v如果发现gcc没有安装。
可用下面三种方式进行安装:Gcc安装方法1:yum -y install gccyum -y install gcc-c++yum install makeGcc安装方法2:-- 或者yum groupinstall "Development Tools" 一般用这个就好Gcc安装方法3:-- 或者yum install gcc gcc-c++ kernel-devel卸载默认的低版本环境目前发行的Centos操作系统版本中,如果选择默认全部安装,就已经安装了LAMP环境,但是版本相对都比较低。
我们可以再安装一个LAMP环境和原来的并存,但是这样做没有必要,因为同时只能开启一个LAMP环境。
所要我们要在安装之前,先应检查一下系统中是否已经安装了低版本的环境,如果已经安装过了,停止原来的服务运行,或者把原来的环境卸载掉。
CentOS下Apache、PHP、MySQL安装配置
1. 安装Apahce, PHP,以及php连接mysql库组件。
yum -y install httpd php php-mysql2. 配置开机启动服务/sbin/chkconfig httpd on [设置apache服务器httpd服务开机启动]/sbin/chkconfig --add mysqld [在服务清单中添加mysql服务]/sbin/chkconfig mysqld on [设置mysql服务开机启动]/sbin/service httpd start [启动httpd服务,与开机启动无关]3.//安装apache扩展yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql//安装php的扩展yum install php-gdyum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc4.apache的配置文件是/etc/httpd/conf下modules放在/usr/lib/httpd下php的配置文件在/etc/php.d/下和/etc/php.iniphp的modules放在/usr/lib/php/modules下apache 默认支持php配置zendoptimizer-3.3.3 cd 目录install 安装过程指定httpd控制文件/etc/rc.d/init.d/httpd路径/etc/httpd配置cronolog进行日志分割下载/download/index.html./configure --prefix /usr/local/cronologmakemake install即可httpd-vhost.conf中的日志设置项可以为:ErrorLog “|/usr/local/cronolog/sbin/cronolog/home/www/apache_logs/-error_log%Y%m%d" CustomLog |/usr/local/cronolog/sbin/cronolog /home/www/apache_logs/-access_log%Y%m%d"combinedmount -t nfs 192.168.0.252:/home/www/wwwroot/bbs /home/www/wwwroot/bbs出现:Document root must be a directory解决办法?关闭selinux setenforce 01.前言CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。
centos局域网dns服务器如何搭建
centos局域网dns服务器如何搭建CentOS中文名为社区企业操作系统,是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。
下面是店铺跟大家分享的是centos局域网dns服务器如何搭建,欢迎大家来阅读学习。
centos局域网dns服务器搭建方法一、DNS需要软件bindbind-utilscaching-nameserversystem-config-bindbind-chroot1.bind是linux的DNS服务器程序。
2.bind-chroot是bind的一个功能,使bind可以在一个chroot 的模式下运行。
也就是说,bind运行时的/(根)目录,并不是系统真正的/(根)目录,只是系统中的一个子目录而已。
这样做的目的是为了提高安全性。
因为在chroot的模式下,bind可以访问的范围仅限于这个子目录的范围里,无法进一步提升,进入到系统的其他目录中。
3.bind-utils是bind软件提供的一组DNS工具包,里面有一些DNS相关的工具。
主要:dig,host,nslookup,nsupdate。
使用这些工具可以进行域名解析和DNS调试工作。
二、操作文件假设我们要搭建服务器ip为192.168.1.225cd /var/named/chroot/etc/cp -a named.caching-nameserver.conf named.confcp -a named.rfc1912.zones named.zonesvi named.conf修改配置文件,如下文红色部分为修改地方options {listen-on port 53 { 192.168.1.225 ; };listen-on-v6 port 53 { ::1; };directory "/var/named";dump-file "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";// Those options should be used carefully because they disable port// randomization// query-source port 53;// query-source-v6 port 53;allow-query { any ; };allow-query-cache { any ; };};logging {channel default_debug {file "data/named.run";severity dynamic;};};view localhost_resolver {match-clients { any; }; //此处注意,如不更改,本机可以通,但局域网内其它机器不能通match-destinations { localhost; };recursion yes;include "/etc/named.zones";};vi named.zones 红色部分为添加zone "" IN {type master;file ".zone";allow-update { none; };};zone "1.168.192.in-addr.arpa" IN {type master;file "1.168.192.local";allow-update { none; };};zone"0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {type master;file "named.ip6.local";allow-update { none; };};三、修改.zonecd /var/named/chroot/var/named/cp -a localhost.zone .zonecp -a named.local 1.168.192.local 并更改这两文件内容.zone文件内容如下$TTL 86400@ IN SOA @ root (46 ; serial (d. adams)3H ; refresh15M ; retry1W ; expiry1D ) ; minimumIN 86400 NS IN 86400 MX 10 www IN 86400 A 192.168.1.225mail IN 86400 A 192.168.1.2251.168.192.local文件内容如下$TTL 86400@ IN SOA localhost. root.localhost. (45 ; Serial28800 ; Refresh14400 ; Retry3600000 ; Expire86400 ) ; MinimumIN 86400 NS .225 IN 86400 PTR .IN 86400 PTR .四、验证配置d-checkconf检测主配置文件内容(主配置文件配置无语法错误,则检测结果不显示任何信息,如果有错误会显示错误内容)d-checkzone .zone测试正向区域文件(文件没有语法错误则显示OK,有错误则显示错误内容)named-checkzone 1.168.192.zone测试反向区域文件(文件没有语法错误则显示OK,有错误则显示错误内容)3.service named start启动dns服务stat -an | grep :53查看dns服务是否启动,端口是否激活5.vi /etc/resolv.conf修改DNS配置文件(设置nameserver地址为192.168.1.225)6.chkconfig --list named查看DNS服务启动状态chkconfig --level 35 named on设置DNS服务在35运行级别的启动状态为on(系统启动该服务自动启动)7.对主DNS服务器进行测试:nslookup>server可以看到DNS服务器为192.168.1.225>测试域中主域名服务器的正向解析可以看到该域名解析的IP地址为192.168.1.225>测试域中邮件服务器的正向解析可以看到该域名解析的地址为192.168.1.225测试域中web服务器的正向解析可以看到该域名解析的地址为192.168.1.225>192.168.1.225测试主域名服务器的反向解析可以看到邮件服务器的域名是,web服务器的域名是五、局域网内其它机器配置首选DNS 填上192.168.1.225即可centos局域网dns服务器搭建方法一、DNS需要软件bindbind-utilscaching-nameserversystem-config-bindbind-chroot1.bind是linux的DNS服务器程序。
Nginx与PHP(FastCGI)的安装、配置与优化
Nginx与PHP(FastCGI)的安装、配置与优化FastCGI的介绍和工作原理首先简单的介绍下FastCGI:FastCGI是语言无关的、可伸缩结构的CGI开放扩展,其主要行为是将CGI解释器进行保持在内存中并因此获得较高的性能。
众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail-Over特性等。
FastCGI的工作原理是:(1)FastCGI进程管理器自身初始化,启动多个CGI解释器进程(多个php-cgi进程)并等待来自Web Server的连接。
在文本中,采用PHP-FPM进程管理器启动多个php-cgi FastCGI进程。
启动php-cgi FastCGI进程时,可以配置以TCP和UNIX套接字两种方式启动。
(2)当客户端请求达到Web服务器(Nginx)时,Web服务器将请求采用TCP协议或UNIX 套接字方式转发到FastCGI主进程,FastCGI主进程选择并连接到一个CGI解释器(子进程)。
Web服务器将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。
(3)FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web服务器(Nginx)。
当FastCGI子进程关闭连接时,请求便告知处理完成。
FastCGI子进程接着等待并处理来自FastCGI进程管理的下一个连接。
而在一般的普通CGI模式中,php-cgi在此便退出了。
PHP-FPMPHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,可以在/downloads.php下载得到.PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。
必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。
新版PHP已经集成php-fpm了,不再是第三方的包了,推荐使用。
Centos7安装PHP及Nginx的教程详解
Centos7安装PHP及Nginx的教程详解随着服务端centos的应⽤越来越普及,centos7的使⽤也越来越多,这两年来我从⼀个很少接触centos服务器端维护的⼩⽩,也越来越多的基础其维护操作,给我带来了不少困扰的同时也增加了不少centos服务器搭建和运维的知识,今天就来⼀步⼀步记录⼀下。
⼀、安装PHP随着微信13年开始⼤⽕,php的运⽤也再次⽕了起来,市⾯上很多企业都选择使⽤php作为其应⽤后台,个⼈认为原因有1、php的成本低2、php的⼊门快3、php的开发周期相对较短4、tp5的诞⽣提⾼了php接⼝开发的效率。
正因为需求这么多,因此很多企业的服务器配置就需要能够⽀持php环境从⽽完成项⽬搭建。
其实安装centos安装软件⼀般都分为两种,第⼀是快速安装第⼆是编译安装,个⼈建议编译安装,⾄于快速安装⽅式简单也快速,只要加载到相应的php源,通过yum install即可完成⼀步⼀步的安装过程,我这⾥仅仅讲⼀下如何进⾏编译安装以及编译安装的过程。
第⼀步、安装前前检查系统中是否默认带有php,可以通过查找php⽂件或者进程进⾏校验,如果有安装且不是我们需要的版本,可以通过⼀下命令卸载相关⽂件:yum remove php*第⼆步、安装相关php依赖yum install -y gcc gcc-c++ libxml2-devel openssl-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel openldap-devel freetype freetype-develphp 各版本列表在这个页⾯选择你要下载的国家的⽂件源选择⽂件源后复制⽂件下载链接,在系统中通过通过wget命令下载编译安装,个⼈习惯在/usr/local⽬录下操作,具体步骤如下:进⼊操作⽬录: cd /usr/local解压⽂件: tar -zxvf php-7.2.10.tar.gz进⼊解压后⽂件⽬录: cd php-7.2.10.tar.gz然后通过⼀下命令编译:./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-opcache --with-pdo-mysql --enable-maintainer-zts -with-mcrypt=/usr/include --with-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --enable-ftp --enable-session --with-gettext --with-jpeg-dir --with-freetype-dir --enable-fastcgi --without-gdbm --disable-fileinfo然后通过以下命令完成最后的编译安装:make && make install如果安装过程提⽰有错误或者依赖就需要根据具体的情况去解决,⾄此我们可以通过php -v命令查看是否成功安装。
Centos安装php高版本
Centos安装php⾼版本Centos系统⾃带的php版本很低,如果我们需要使⽤⾼版本的php,可以不⽤编译安装,直接⽤yum安装会⾮常省时省⼒。
简介PHP(超⽂本预处理器)是⼀种通⽤开源脚本语⾔。
语法吸收了C语⾔、Java和Perl的特点,利于学习,使⽤⼴泛,主要适⽤于Web开发领域。
PHP 独特的语法混合了C、Java、Perl以及PHP⾃创的语法。
⽤PHP做出的动态页⾯与其他的编程语⾔相⽐,PHP是将程序嵌⼊到HTML(标准通⽤标记语⾔下的⼀个应⽤)⽂档中去执⾏,执⾏效率⽐完全⽣成HTML标记的CGI要⾼许多;PHP还可以执⾏编译后代码,编译可以达到加密和优化代码运⾏,使代码运⾏更快。
安装1.检查当前是否有安装phprpm -qa|grep php如果有安装PHP,那么请先删除这些安装包:yum remove php*2.安装php源Centos 5 安装php源:rpm -ivh /yum/el5/latest.rpmCentOs 6 安装php源:rpm -ivh /yum/el6/latest.rpmCentOs 7 安装php源和epel扩展源:rpm -ivh https:///yum/el7/epel-release.rpmrpm -ivh https:///yum/el7/webtatic-release.rpm3.现在开始安装php安装php5.5的基本安装包:yum install php55w php55w-gd php55w-mbstring php55w-mysql php55w-fpm安装php5.6的基本安装包:yum install php56w php55w-gd php56w-mbstring php56w-mysql php56w-fpm安装php7.0的基本安装包:yum install php70w php70w-gd php70w-mbstring php70w-mysql php70w-fpm安装完成php之后需要重启apache:service restart4. 测试⽹页我安装的php7.0,就拿php7.0写个⽹页测试⼀下/var/www/html/index.php<?php phpinfo(); ?>。
Centos系统下LAMP环境的搭建
GD库加PHP加速软件eAccelerator加Zend的安装教程首先需要安装GD所必须的一些小软件包bzip2-develzlib-devellibjpeg-devellibpng-devellibtiff-develfreetype-developenssl-devellibxml2-develgettext-devel先安装好,避免手动编译浪费时间,同时也能避免很多错误,这几个小软件的编译如果错误了,GD当然也就安装不,php5的编译当然也没戏了,所以我们对这些小软件包,进行同意安装,并且对服务器的性能也不能产生什么影响。
二。
安装gd;apache;mysql;php基本环境1,安装GD2[root@localhost Desktop]# tar zxvf gd-2.0.33.tar.gz[root@localhost Desktop]# cd gd-2.0.33[root@localhost gd-2.0.33]# ./configure --prefix=/usr/local/gd** Configuration summary for gd 2.0.33:Support for PNG library: yesSupport for JPEG library: yesSupport for Freetype 2.x library: yesSupport for Fontconfig library: yesSupport for Xpm library: yesSupport for pthreads: yes可以看到已经支持PNG JPEG等[root@localhost gd-2.0.33]# make[root@localhost gd-2.0.33]# make install2.安装apache2[root@localhost Desktop]# tar zxvf httpd-2.2.15.tar.gz[root@localhost Desktop]# cd httpd-2.2.15[root@localhost httpd-2.2.15]# ./configure --prefix=/usr/local/apache --with-ssl --enable-ssl --enable-so --enable-rewrite --with-mpm=worker --disable-cgid --disable-cgi* enable-ssl启用ssl* enable-so启用动态模块。
Centos7安装Cacti详细过程(含配图)
CentOS 7 安装Cacti文档整理制作:度度北京系统环境:Linux : CentOS 71、安装httpd、MySQL、PHP、PHP-SNMP、rrdtool[root~]# yum install httpd httpd-devel #安装httpd[root~]# yum install mariadb-server #安装mariadb数据库(Mysql开源)[root~]# yum install php-mysql php-pear php-common php-gd php-devel phpphp-mbstring php-cli#安装PHP及相关支持插件[root~]# yum install php-snmp #安装PHP-SNMP[root~]# yum install net-snmp-utils net-snmp-libs#安装net-snmp[root~]# yum install rrdtool 安装rrdtool2、配置httpd、mysql、snmpd、开机启动[root~]# systemctl start httpd.service #启动httpd[root~]# systemctl start mariadb.service #启动mysql[root~]# systemctl start snmpd.service #启动snmp[root~]# systemctl enable httpd.service #设置httpd开机启动[root~]# systemctl enable mariadb.service #设置mysql开机启动[root~]# systemctl enable snmpd.service #设置snmp开机启动3、设置LINUX服务器IP地址:[root~]# /etc/sysconfig/network-scripts/ifcfg-eno167779844、安装Cacti使用软件:FileZilla Client将已经下载好的cacti-0.8.8h.tar.gz,上传至Linux服务器[root~]# tar -xvzf cacti-0.8.8h.tar.gz #解压cacti[root~]# mv cacti-0.8.8c/ cacti #改目录名[root~]# cd cacti/[root~]# vi include/config.php #更改cacti配置文件$database_username = "cacti";#配置数据库用户名$database_password = "test"; #配置数据库密码date_default_timezone_set('Asia/shanghai');#添加cacti时间[root~]# useradd cacti -d /var/www/html/cacti/ #添加用户并对/cacti目录控制(会提示出错,忽略)[root~]# chown -R cacti /var/www/html/cacti/ #改变拥有者为cacti[root~]# chgrp -R cacti /var/www/html/cacti #改变目录属性为cacti[root~]# chmod -R 755 /var/www/html/cacti/ #设置cacti目录权限4、配置Mysql[root~]# mysqladmin -u root password 密码#设置mysql密码[root~]# mysql -u root –p #登录mysqlMariaDB >create database cacti;#建cacti库MariaDB >GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'test';#建cacti用户对cacti库的完全访问,test为密码MariaDB >FLUSH privileges;#刷新mysqlMariaDB >quit;#退出[root~]# mysql -u cacti -p cacti < /usr/local/cacti/cacti.sql#导入库(输入test密码后,成功不会有任何提示直接返回命令行)5、开启http端口[root~]# firewall-cmd --permanent --zone=public --add-service=http #防火墙开启HTTP[root~]# firewall-cmd --reload #刷新防火墙策略6、配置cacti[root~]# vi /etc/httpd/conf.d/cacti.conf #新建cacti的http配置文件Alias /cacti /var/www/html/cacti<Directory /var/www/html/cacti/><IfModule mod_authz_core.c># httpd 2.4Require all granted</IfModule><IfModule !mod_authz_core.c># httpd 2.2Order deny,allowDeny from allAllow from all</IfModule></Directory>[root~]# systemctl restart httpd.service #重启httpd[root~]# vi /etc/cron.d/cacti #新建配置cron.d*/5 * * * * cacti /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1 # */5 * * * * cacti /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1 [root~]# systemctl restart httpd.service #重启httpdDONE!使用IE登录http://192.168.96.69/cacti/点击:Finish,进入WEB页面,配置模版,增加监控设备。
CentOS 5.5搭建PHP环境安装笔记
修改成:
anonymous_enable=NO /*不允许匿名用户访问*/
/*【chroot_list_enable=YES /*启用chroot_list_file=YES项指定的用户列表文件*/
./configure --prefix=/usr/local
make
make install
cd ../
tar zxvf libmcrypt-2.5.8.tar.gz /*libmcrypt 可支持更多加密算法*/
cd libmcrypt-2.5.8/
./configure
make
make install
/sbin/ldconfig /*刷新库文件搜索路径 ,使其生效*/
cd libltdl/
./configure --enable-ltdl-install
make
make install
cd ../../
tar zxvf mhash-0.9.9.9.tar.gz /*mhash是一个哈希演函数库,他可以支持多种哈希演算法,例如md5,shal gost */
#ntpdate
#chkconfig ntpd on (让对时服务开机启动)
#clock -w #这个命令强制把系统时间写入CMOS。
8、使用 yum 对系统进行更新并且安装必要软件包
#yum update
#yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel
fastcgi 编译与移植手册
题目:fastcgi编译与移植手册1.引言FastCGI是一种用于改善服务器性能的Web服务器扩展技术。
它允许Web服务器将动态请求(例如PHP、Python或Ruby等脚本)委托给FastCGI进程来处理,从而提高服务器的吞吐量和响应速度。
为了充分发挥FastCGI的优势,我们需要对其进行编译和移植,本手册将介绍相关的编译与移植技术和方法。
2.编译FastCGI的步骤在编译FastCGI之前,我们需要准备相关的工具和环境,确保可以顺利地进行编译工作。
以下是编译FastCGI的主要步骤:1) 下载FastCGI源码在开始编译之前,我们需要从官方全球信息湾或其他可靠的来源下载FastCGI的源码,确保获取的源码是最新稳定的版本。
2) 准备编译环境在编译FastCGI之前,我们需要安装相应的编译工具和库文件,以及设置好相关的环境变量,确保编译工作可以顺利进行。
3) 配置编译参数通过运行configure脚本,我们可以对FastCGI进行一些配置,例如指定安装目录、开启或关闭某些功能等。
4) 进行编译和安装最后一步是运行make和make install命令,将FastCGI编译成可执行文件,并安装到指定的目录中。
3.移植FastCGI到其他评台除了编译FastCGI,我们还需要将其移植到目标评台,以确保FastCGI 可以在不同的系统上运行。
以下是移植FastCGI到其他评台的一般步骤:1) 了解目标评台环境在移植FastCGI之前,我们需要了解目标评台的软硬件环境,包括操作系统、编译器、库文件等,以确保能够顺利进行移植工作2) 修改源码根据目标评台的特点,我们需要对FastCGI的源码进行适当地修改,使其能够在目标评台上编译和运行。
3) 进行编译和测试在修改源码后,我们需要对FastCGI进行重新编译,并在目标评台上进行测试,确保其功能正常。
4) 优化和调试在移植过程中,可能会出现一些问题,我们需要对这些问题进行定位、调试和优化,以确保FastCGI在目标评台上的稳定运行。
CentOS 5.5安装PHP环境步骤记录
CentOS 5.5 安装PHP环境步骤记录先升级或是安装一下编译软件执行下面代码yum install ntp vim-enhanced gcc gcc-c++ flex bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel kernel netconfig libtool libtool-ltdl-deve在系统根目录新建一个文件夹/soft 把安装软件的tar包都放进去提示:本文演示所有程序安装路径为大家公认的路径你可以不用修改如果你要修改下面安装后的某些配置文件也要相应修改。
下面开始安装请按顺序安装---------------》START 开始了(下面输入的命令可以能多了点如果你要复制请不要在word里面直接复制可以先复制到记事本中然后再从记事本上面复制,不然复制的包含有格式可能会出错)本文全部是源码安装是最麻烦的一种安装方式。
但是定制型强所有我都省略了解包这一步这个大家应该都会吧进入到/soft 目录下tar –zxvf libxml2-2.6.31.tar.gz这样就可以把libxml2-2.6.31.tar.gz 解包成libxml2-2.6.31文件夹了提示tar –zxvf libx 输入到这里按Tab键(字母Q左边那个键)会自动补全如果没有补全说明还有类似的文件名,你可以再多输入1~2字母再按T ab键解压后都要进入到刚解压的那个文件夹的目录比如第一个要安装的libxml2cd libxml2-2.6.31 //然后再按下面步骤操作1、libxml2 libxml2-2.6.31.tar.gz./configure –prefix=/usr/local/libxml2makemake install2、libmcrypt libmcrypt-2.5.7.tar.gz./configure –prefix=/usr/local/libmcryptmakemake install3、zlib zlib-1.2.3.tar.gz./configure –prefix=/usr/local/zlibmakemake install4、libpng libpng-1.2.26.tar.gz./configure –prefix=/usr/local/libpngmakemake install5、jpg6jpegsrc.v6b.tar.gz./configure --prefix=/usr/local/jpeg6 --enable-shared --enable-staticMake//---START如果之前没有安装libtool或是libtool-ltdl-devel 这里会报错.yum 安装上然后进入jpg6解压目录cp /usr/share/libtool/config.sub .cp /usr/share/libtool/config.guess .make cleanmakemake install//---END-------------//make install6、freetype freetype-2.3.5.tar.gz./configure –prefix=/usr/local/freetypemakemake install7、autoconf autoconf-2.61.tar.gz./configure //这里只要 ./configure 就可以了makemake install8、GD gd-2.0.35.tar.gz./configure --prefix=/usr/local/gd2/ --with-zlib=/usr/local/zlib/ --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ --enable-m4_pattern_allow makemake install9、curl curl-7.21.4.tar.gz./configure –prefix=/usr/local/curlmakemake install10、apache httpd-2.2.9.tar.gz./configure –prefix=/usr/local/apache2\> --sysconfdir=/etc/httpd> --with-z=/usr/local/zlib\> -- with-included-apr\> --enable-so\> --enable-deflate=shared> --enable-expires= shared> --enable-rewrite=shared> --enable-static-supportmake//--START-make的时候64位机器可能会出现/usr/local/lib/libz.a: could not read symbols: Bad value 的错误解决方法:cd zlib-1.2.3 //进入zlib目录CFLAGS="-O3 -fPIC" ./configure //使用64位元的方法进行编译makemake installmake clean详情地址:/kin_1987/blog/item/f6d3870819a8ffdb3ac763fd.html //--ENDmake install设置apache随系统启动方法:把包里conf文件夹里面的httpd文件copy到你的系统进入httpd所在目录如果你是严格按照本文写的操作的可以不用改任何参数直接用了如果你改了安装目录请把httpd里面所有/usr/local/apache2 改成你的安装目录做如下操作别忘记了进入httpd所在目录cp ./httpd /etc/rc.d/init.d/httpdchmod +x /etc/rc.d/init.d/httpdchkconfig --add httpdchkconfig httpd on这样即可添加成功可以chkconfig –list httpd 查看这时添加httpd随系统启动就成功了以后可以使用一下命令操作httpd 启动/关闭service httpd restart //重启httpdservice httpd stop //关闭httpdservice httpd start //开启httpd11、MySQL mysql-5.1.55.tar.gz./configure --prefix=/usr/local/mysql --with-extra-charsets=allmakemake installcp support-files/f /etc/f下面的操作需要进入mysql的安装目录执行/usr/local/mysqlbin/mysql_install_db --user=mysql //创建授权表chown -R root . //把/usr/local/mysql安装目录属主给root帐户chown -R mysql var //把/usr/local/mysql/var 的属主给mysql 帐户chgrp -R mysql . 把/usr/local/mysql 的所属组给mysql组/usr/local/mysql/bin/mysqld_safe --user=mysql & //启动mysqlnetstat -tnl|grep 3306 //查看3306端口是否被开启bin/mysqladmin version //查看mysql的版本bin/mysql -u root //登陆mysql 无需密码然后执行下面SQL语句DELETE FROM er WHERE Host='localhost' AND User='';FLUSH PRIVILEGESSET PASSWORD FOR 'root'@'localhost'=PASSWORD('99cad@3457001');bin/mysql -u root -h localhost –p //进入MySQL 客服端bin/mysqladmin -u root -p shutdown //关闭MySQL设置MySQL随系统启动方法:cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql chmod +x /etc/rc.d/init.d/mysqlchkconfig --add mysqlchkconfig mysql on这时添加mysql随系统启动就成功了可以chkconfig –list mysql 查看以后可以使用一下命令操作mysql 启动/关闭service mysql restart //重启mysqlservice mysql stop //关闭mysqlservice mysql start //开启mysql12、PHP php-5.2.6.tar.gz./configure\> --prefix=/usr/local/php\> --with-config-file-path=/usr/local/php/etc\> --with-apxs2=/usr/local/apache2/bin/apxs> --with-mysql=/usr/local/mysql/\> --with-libxml-dir=/usr/local/libxml2/\> --with-curl=/usr/local/curl/\> --with-png-dir=/usr/local/libpng/\> --with-jpeg-dir=/usr/local/jpeg6/\> --with-freetype-dir=/usr/local/freetype/\> --with-gd=/usr/local/gd2/\> --with-zlib-dir=/usr/local/zlib/\> --with-mcrypt=/usr/local/libmcrypt/\> --with-mysqli=/usr/local/mysql/bin/mysql_config/\> --enable-soap\> --enable-mbstring=all --enable-sockets\makemake test //如果make过后系统提示“Don’t forget make test”可以make test 一下make install修改apache文件配置httpd.conf 所在目录/etc/httpd/httpd.conf使用vi 打开注意如果你不会只用vi 传到windows上面打开不能使用记事本可以使用DW,notepad++在AddType application/x-gzip .gz .tgz 后面添加AddType application/x-httpd-php .php .phtml查找IfModule dir_module 添加apache默认首页的文件添加一个index.php 如下<IfModule dir_module>DirectoryIndex index.html index.htm index.php</IfModule>默认网站目录修改默认是在/usr/local/httpd/htdocs我这里修改为/htdocs 也就是系统根目录下的htdocs文件夹查找DocumentRoot "/usr/local/httpd/htdocs" 修改为:DocumentRoot "/htdocs"查找<Directory "/usr/local/httpd/htdocs"><Directory "/htdocs">下面就是修改PHP的配置文件了php.ini 所在目录/usr/local/php/etc/php.ini 根据情况修改的post_max_size = 64M //post发送数据的最大值upload_max_filesize = 20M //上传文件的最大值13、ZendOptimizerZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz ->64位服务器安装ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz ->32位服务器安装查看linux系统版本是32位还是64位# uname -mx86_64 //出现这个表64位的安装Zend Optimizer,32位系统版本tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gzmkdir -p /usr/local/zend/cpZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/ZendOptimizer.so /usr/local/zend/如果是64位系统,则tar zxvf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gzmkdir -p /usr/local/zend/cpZendOptimizer-3.3.9-linux-glibc23-x86_64/data/5_2_x_comp/ZendOptimizer. so /usr/local/zend/配置php.inicat >>/usr/local/php/etc/php.ini< <EOF[Zend Optimizer]zend_optimizer.optimization_level=1zend_extension="/usr/local/zend/ZendOptimizer.so"EOF7, 修改php.ini文件手工修改查找/usr/local/php/etc /php.ini中的extension_dir = "./"修改为extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"并在此行后增加以下几行,然后保存:extension = "memcache.so"extension = "pdo_mysql.so"再查找output_buffering = Off修改为output_buffering = On自动修改可执行以下shell命令,自动完成对php.ini文件的修改:sed -i 's#extension_dir = "./"#extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"\nextension = "memcache.so"\nextension = "pdo_mysql.so"\n#' /usr/local/php/etc/php.ini sed -i 's#output_buffering = Off#output_buffering = On#' /usr/local/php/etc/php.ini启动出错的话chcon -t textrel_shlib_t ZendOptimizer.so14、phpmyadmin phpMyAdmin-3.3.9.2-all-languages.tar.gztar –zxvf /soft/ phpMyAdmin-3.3.9.2-all-languages.tar.gz这个其实不需要安装解压出来复制到网站目录下面就行了。
CentOS下安装、配置Nginx,配合IIS做负载均衡
CentOS下安装、配置Nginx,配合IIS做负载均衡一、环境准备∙安装CentOS版本:6.2关于CentOS介绍,请参考:/view/26404.htmNginx版本:1.2.1关于Nginx介绍,请参考:/view/926025.htm二、Linux常用命令介绍工欲善其事,必先利其器。
在进行Linux系统操作之前,我们必须掌握一些基础的命令,相信用过dos的人都不会太陌生,基本上包括windows、linux,其命令行模式都是从unix系统发展而来。
在此仅列出一些,在本篇博客会涉及到的一些命令,更多的介绍请参考相关资料。
三、安装Nginx完成安装centos后,使用root用户进入到系统,使用wget方式安装nginx包∙wget /download/nginx-1.2.1.tar.gz∙解压包tar -zxvf nginx-1.2.1.tar.gz∙安装gcc编译器及相关工具yum -y install gcc gcc-c++ autoconf automake make∙安装相关依赖的模块yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel∙通过编译源码的方式进行安装:./configure∙执行命令:make∙执行命令:make install四、配置Nginx配置文件示例:配置文件说明:∙nginx server做前端反向代理∙后端配置两台IIS作为分流服务器∙基于ip-hash的负载方式∙测试配置文件是否有错误:/$your directory/nginx/sbin/nginx -t五、如何启动Nginx直接执行文件启动:# /usr/local/nginx/sbin/nginx启动成功后,查看nginx进程信息:# ps -ef | grep nginx ,看是否存在nginx的进程来确认是否成功启动。
LinuxCentOS安装配置LighttpdPHPMySQL教程WEB服务器-电脑资料
LinuxCentOS安装配置LighttpdPHPMySQL教程WEB服务器-电脑资料运行于Linux下的Lighttpd是一个开源Web服务器软件,。
Lighttpd的最大特点是其“轻量级特征”:仅仅需要相对于Apache 等成熟服务器软件小得多的CPU与内存资源即可达到相同的性能。
Lighttpd以BSD许可证发布。
根据维基百科lighttpd条目的介绍,lighttpd支持FastCGI与SCGI的负载平衡,支持Linux下chroot安全特征,支持SSL加密连接。
Lighttpd虽然小巧,但是却足以满足普通的高性能Web服务请求。
本文将以CentOS为例指导安装lighttpd与PHP与MySQL全套组件,基本安装方法参考了howtoforge的《Installing Lighttpd With PHP5 and MySQL Support On CentOS 6.0》一文。
本文虽然很长,但其实质非常简单,请严格按照如下方法操作即可完美安装,安装方法已经过多系统实机验证。
安装配置方法在进行安装前,请参考《 CentOS安装教程》安装好基本的CentOS系统,以保证环境的兼容性与统一性。
1、首先安装MySQLCentOS中安装MySQL非常简单,直接yum即可:1[root@www ~] # yum install mysql mysql-server安装过程中需要输入“y”以确认。
完成后启动MySQL:1[root@www ~] #/etc/init.d/mysqld start安装完MySQL后,需要立即对MySQL进行基本的安全设置,使用1[root@www ~] # mysql_secure_installation此程序是MySQL的安全设置向导,首先会询问是否设置MySQL 的root密码,直接回车表示确认设置。
按照提示重新输入一个密码即可。
随后会提示:Remove anonymous users? [Y/n]Disallow root login remotely? [Y/n]Remove test database and access to it? [Y/n]Reload privilege tables now? [Y/n]等,均直接回车(Y)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CentOS环境中安装配置lighttpd+php+fastcgi+eAcceleratorLighttpd 作为新一代的web server,以小巧(不到1M的大小)、快速而著称,因为服务器上安装了rails、java,并以lighttpd为前端代理服务器,不想再部署apache了,所以直接使用lighttpd来部署,顺便看一下性能如何。
本文主要介绍在CentOS下,配置一套用lighttp作为web server的php环境· 安装Lighttpd从/download/下载源码安装前先检查pcre是否安装,需要pcre和pcre-devel两个包。
用yum search pcre\*检查,如果都是installed就是都安装了。
否则安装缺少的包。
yum install pcre-develtar xzvf lighttpd-1.4.23.tar.gzcd lighttpd-1.4.23./configure –prefix=/usr/local/lighttpdconfigure完毕以后,会给出一个激活的模块和没有激活模块的清单,可以检查一下,是否自己需要的模块都已经激活,在enable的模块中一定要有“mod_rewrite”这一项,否则重新检查pcre是否安装。
然后编译安装:make && make install编译后配置:cp doc/sysconfig.lighttpd /etc/sysconfig/lighttpdmkdir /etc/lighttpdcp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf如果你的Linux是RedHat/CentOS,那么:cp doc/rc.lighttpd.redhat /etc/init.d/lighttpd如果你的Linux是SuSE,那么:cp doc/rc.lighttpd /etc/init.d/lighttpd其他Linux发行版本可以自行参考该文件内容进行修改。
然后修改/etc/init.d/lighttpd,把lighttpd="/usr/sbin/lighttpd"改为lighttpd="/usr/local/lighttpd/sbin/lighttpd"此脚本用来控制lighttpd的启动关闭和重起:/etc/init.d/lighttpd start/etc/init.d/lighttpd stop/etc/init.d/lighttpd restart如果你希望服务器启动的时候就启动lighttpd,那么:chkconfig lighttpd on这样lighttpd就安装好了,接下来需要配置lighttpd。
配置Lighttpd修改/etc/lighttpd/lighttpd.conf1)server.modules取消需要用到模块的注释,mod_rewrite,mod_access,mod_fastcgi,mod_simple_vhost,mod_cgi,mod_compress,mod_accesslog是一般需要用到的。
2)server.document-root, server.error-log,accesslog.filename需要指定相应的目录3)用什么权限来运行lighttpdername = “nobody”server.groupname = “nobody”从安全角度来说,不建议用root权限运行web server,可以自行指定普通用户权限。
4)静态文件压缩compress.cache-dir = “/tmp/lighttpd/cache/compress”compress.filetype = (“text/plain”, “text/html”,”text/javascript”,”text/css”)可以指定某些静态资源类型使用压缩方式传输,节省带宽,对于大量AJAX应用来说,可以极大提高页面加载速度。
5)配置ruby on rails最简单的配置如下:$HTTP["host" == ""{server.document-root = "/yourrails/public"server.error-handler-404 = "/dispatch.fcgi"fastcgi.server = (".fcgi" =>("localhost" =>("min-procs" => 10,"max-procs" => 10,"socket" => "/tmp/lighttpd/socket/rails.socket","bin-path" => "/yourrails/public/dispatch.fcgi","bin-environment" => ("RAILS_ENV" => "production"))))}即由lighttpd启动10个FCGI进程,lighttpd和FCGI之间使用本机Unix Socket通信。
如果想指定以及所有二级域名,则需要把第一行改为$HTTP[”host”] =~ “(^|\.)abc\.com” {…}如果要设置代理,比如lighttpd和tomcat整合,tomcat放在lighttpd后面,则需要通过代理访问tomcat $HTTP["host"] =~ “” {proxy.server = ( “” => ( “localhost” => ( “host”=> “127.0.0.1″, “port”=> 8080 ) ) )}则为主机的网址都交给tomcat处理,tomcat的端口号为8080. 在tomcat的虚拟主机中,需要捕获这个主机名,设置这个虚拟主机。
这里的host都是跟tomcat里面的虚拟主机对应的。
· 安装支持fastcgi的PHP安装PHP所需的相关类库curlwget .tw/download/curl-7.19.5.tar.bz2tar xvjf curl-7.19.5.tar.bz2cd curl-7.19.5./configure –prefix=/usr/local/curlmakemake installgettextwget ftp://.tw/pub/gnu/gnu/gettext/gettext-0.17.tar.gztar xvzf gettext-0.17.tar.gzcd gettext-0.17./configure –prefix=/usr/local/gettextmakemake installzlibwget /sourceforge/libpng/zlib-1.2.3.tar.gztar xvzf zlib-1.2.3.tar.gzcd zlib-1.2.3./configure –prefix=/usr/local/zlibmake && make installlibpngwget /sit ... /l/li/libpng/libpng-1.2.9.tar.gztar xvzf libpng-1.2.9.tar.gzcd libpng-1.2.9./configure –prefix=/usr/local/libpngmake && make installjpegwget /files/jpegsrc.v6b.tar.gztar xvzf jpegsrc.v6b.tar.gzcd jpeg-6b/./configure –prefix=/usr/local/jpeg6makemkdir /usr/local/jpeg6/binmkdir -p /usr/local/jpeg6/binmkdir -p /usr/local/jpeg6/man/man1mkdir -p /usr/local /jpeg6/libmkdir -p /usr/local /jpeg6/includemake install-libmake installfreetypewget /releases/freetype/freetype -2.3.9.tar .gz tar xvzf freetype -2.3.9.tar .gz cd freetype -2.3.9 ./configure –prefix=/usr/local /freetype2makemake installgdwget /releases/gd -2.0.35.tar .gz tar xvzf gd -2.0.35.tar .gzcd gd -2.0.35./configure –prefix =/usr/local /gd2 –with-zlib =/usr/local /zlib/ –with-png =/usr/local /libpng/ –with-jpeg=/usr/local /jpeg6/ –with-freetype=/usr/local /freetype2/make如果第一次make 出错,试着再make 一次,我就是这样,第二次就对了。
make installPHPtar xvzf php -5.2.10.tar .gzcd php -5.2.10./configure –prefix =/usr/local /php –with-mysql =/usr/local /mysql –with-pdo-mysql =/usr/local /mysql –with-jpeg-dir=/usr/local /jpeg6/ –with-png-dir =/usr/local /libpng/ –with-gd =/usr/local /gd2/ –with-freetype-dir=/usr/local /freetype2/ –with-zlib-dir=/usr/local /zlib –with-curl =/usr/local /curl –with-gettext=/usr/local /gettext –enable-fastcgi –enable-zend-multibyte –with-config-file-path =/etc –enable-discard-path –enable-force-cgi-redirectmakemake installcp php.ini-dist /etc/php.ini可以使用php -m 查看你安装的模块eAcceleratoreAccelerator 是一个开源的PHP 加速器wget /source /0.9.5.3/eaccelerator -0.9.5.3.tar .bz2tar xjvf eaccelerator -0.9.5.3.tar .bz2cd eaccelerator -0.9.5.3export PHP_PREFIX="/usr/local/php"$PHP_PREFIX/bin/phpize./configure –enable-eaccelerator=shared –with-php-config=$PHP_PREFIX/bin/php-config makemake install执行好后,会提示安装到的路径,下面会用到,如我的被安装到这里/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613编辑php.ini中的内容vim /etc/php.inicgi.fix_pathinfo = 1zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so" eaccelerator.shm_size="16"eaccelerator.cache_dir="/tmp/eaccelerator"eaccelerator.enable="1"eaccelerator.optimizer="1"eaccelerator.check_mtime="1"eaccelerator.debug="0"eaccelerator.filter=""eaccelerator.shm_max="0"eaccelerator.shm_ttl="0"eaccelerator.shm_prune_period="0"eaccelerator.shm_only="0"press="1"press_level="9"如果一切顺利,你可以通过下面命令来验证是否安装成功$ php -vPHP 5.2.10(cli)(built: Jun 20200923:32:09)Copyright (c)1997-2009 The PHP GroupZend Engine v2.2.0, Copyright (c)1998-2009 Zend Technologieswith eAccelerator v0.9.5.3, Copyright (c)2004-2006 eAccelerator, by eAccelerator修改/etc/lighttpd/lighttpd.conf文件,添加下面的配置vim /etc/lighttpd/lighttpd.conffastcgi.server = (".php" =>("localhost" =>("socket" => "/tmp/php-fastcgi.socket","bin-path" => "/usr/local/php/bin/php-cgi")))重启lighttpd/etc/init.d/lighttpd restart写一个php测试文件在lighttpd的网站目录里,测试php是否安装成功原文:http://blog.prosight.me/index.php/2009/06/97。