2013年5月28日星期二

virtualbox上centos的上网配置

在虚拟机上配置IP上网真是个麻烦事情,老是这样那样的问题

一开始老是目标主机不可达(destination host unreachable)

折腾了半天,百度、google都用上了。

改过去改过来,也不知道是改的哪里,终于能可以用了

现在只有把配置贴出来,以免忘记了又去google.

virtualbox的网卡设置是这样的,还是桥接模式,允许混杂模式。

image

首先:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
BOOTPROTO="static"
BROADCAST="192.168.0.255"
IPADDR="192.168.0.133"
NETMASK="255.255.255.0"
ONBOOT="yes"
HWADDR="08:00:27:FB:8C:64"
GATEWAY="192.168.0.1"
ONBOOT="yes"

第二步:

# vi /etc/resolv.conf

nameserver 61.139.2.69
nameserver 8.8.8.8.8

第三步:

# vi /etc/sysconfig/network

NETWORKING=yes
GATEWAY=192.168.0.1
HOSTNAME=feng

 

最后: #service network restart

2013年5月27日星期一

wnmp平台下出现413 Request Entity Too Large错误

413 Request Entity Too Large


解决方法:打开nginx主配置文件nginx.conf,找到http{}段,添加
client_max_body_size 20m;
Centos下 vi /usr/local/nginx/conf/nginx.conf


重启NGINX


 


 

利用Google Drive备份WordPress博客

利用Google Drive备份WordPress博客的方法。Google Drive为谷歌的云存储工具,免费用户有5G的容量,对于一般的网站备份是足够使用。

图片

首先,在wordpress后台插件处搜索"Google Drive for WordPress"插件,安装且激活。

图片

其次,看下图,点击"Configure Google"后,会看到我们需要得到授权。

图片

点击后面的"Google API Console",进行授权设置,这时候需要我们有一个谷歌账户。

图片

再次,点击左侧的"API Access"创建项目,输入项目名称:

图片

然后选择"Web application",先提交。

图片

提交之后在在右侧有一个编辑链接,点击后我们要重新输入"Authorized Redirect URIs"这个是在我们第二个图激活插件设置的时候有一串地址,比如"http://www.itbulu.com/wp-admin/admin.php?page=configure_google&action=auth"就是我们的。"Authorized JavaScript Origins"这个写我们自己的博客地址。

图片

最后,"Client ID"和"Client secret"是我们需要输入的,输入后就可以激活。

后面就很简单了,我们在备份设置中可以设置,定时备份,或者备份文件和数据库等设置。

api

api2

api3 accept

api4

api4-1

api5

api6

api7 on time backup

2013年5月26日星期日

LNMP环境中WordPress程序伪静态解决方案

我们是否有发现环境中我们较为常用的wordpress伪静态不生效,内页出现404错误页面。这个问题很好解决,因为我们lnmp采用的是nginx,而不是apache,所以不如apache直接丢htaccess文件到网站根目录就可以生效伪静态。
首先,默认安装的lnmp环境中已经有伪静态文件wordpress.conf文件在"/usr/local/nginx/conf/wordpress.conf"中,我们可以核对一下里面的编译代码是不是为:
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
如果不是,我们需要修改成上面的代码文件用来rewrite跳转伪静态。
其次,我们需要在属于我们网站的配置文件:
/usr/local/nginx/conf/vhost/bbee.be.conf
(自己添加域名自动命名)
如果只建有一个网站,没更改过vhost内文件,那么便修改:
/usr/local/nginx/conf/nginx.conf
我们会看到类似下面的代码,看到红色部分是我添加进去的,你就添加进去就可以:
server {
listen 80;
server_name bbee.be;
index index.html index.php;
include wordpress.conf;
最后,我们用ssh登录VPS,然后用下面的命令重启lnmp
/root/lnmp restart
执行上面三步骤之后,我们的wordpress便不会出现404的问题了

2013年5月25日星期六

LNMP一键安装包的Nginx 502 Bad Gateway错误可能原因及解决方法

第一种原因:目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。可以看一下是否存在/usr/local/php/sbin/php-fpm ,如果没有肯定没安装成功 。在执行 #/root/lnmp restart 时会提示,找不到 /usr/local/php/sbin/php-fpm。

 

解决方法:

1、可以进入lnmp解压的安装包,执行如下命令:./upgrade_php.sh   升级PHP版本,按提示输入php版本号,如5.3.6。若升级成功可解决问题。#/root/lnmp restart 检查是否存在php-fpm.

可以尝试根据lnmp一键安装包中的脚本手动安装一下,看看是什么错误导致的,在网上搜索一下,或者把错误信息发上来。如果实在不会提供按http://lnmp.org/install.html这个安装时的lnmp.log日志文件.

第二种原因:

在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway

 

第三种原因:

在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。

也有可能是max_requests值不够用。

 

第四种原因:

php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300

 

第五种原因:

磁盘空间不足,如mysql日志占用大量空间清理一下磁盘上的文件,有部分剩余空间,重启即可恢复。

 

第六种原因:

查看php-cgi进程是否在运行

 

第七种原因:

将nginx.conf里的

fastcgi_connect_timeout

fastcgi_send_timeout

fastcgi_read_timeout都调大一点。

 

第八种可能原因:

 

按日志可能是php打开文件数的限制
打开php-fpm.conf 找到 rlimit_files 改成:65535
编辑 /etc/security/limits.conf 加上:
* soft nofile 65535
* hard nofile 65535
编辑/etc/sysctl.conf  底部添加fs.file-max=65535

echo "ulimit -SHn 65535" >> /etc/rc.local
重启试试

 

 

九、也可以尝试将unix套接字改成tcp/ip的,修改/usr/local/php/etc/php-fpm.cnf 里设置<value name=“listen_address”>/tmp/nginx.socket</value> 改成<value name=“listen_address”>127.0.0.1:9000</value> ,同时/usr/local/nginx/conf/nginx.conf 及其/usr/local/nginx/conf/vhost/ 下面的虚拟主机配置里的fastcgi_pass  unix:/tmp/php-cgi.sock; 替换为fastcgi_pass  127.0.0.1:9000;  之后重启试试。

 

 

十、如果虚拟主机的日志文件过大也可能会造成502问题。

建议定期清空一下虚拟主机的日志文件。

 

十一、有些程序或者程序的主题有死循环或其他非常占用资源的代码也可能会引起502,可以尝试暂时注释掉可能的主机的配置文件,重启看看是否还会502。

 

十二、如果以上方法都试过,但还有时会出现502错,可以尝试添加502自动重启脚本:http://bbs.vpser.net/thread-1913-1-1.html

2013年5月24日星期五

小内存VPS WebMin优化设置

Virtualmin模块安装时是以最大性能模式来配置的,不太适合小内存的VPS,那么只需要简单设置一下,你会发现内存占用刷的一下就下来了。


Apache内存优化


登陆WebMin,打开服务器中的Apache 服务器,选择Global configuration -> 进程和限度


[caption id="attachment_855" align="aligncenter" width="500"]小内存VPS WebMin优化设置 小内存VPS WebMin优化设置[/caption]
 

最大的请求头数:默认
最大请求头的大小:默认
最大请求行的大小:默认
显示扩展的状态信息:否
每个服务器进程的最大请求数:4000
最大空闲服务器进程数:3
最小空闲服务器进程数:2
初始服务器进程数:3


[caption id="attachment_856" align="aligncenter" width="455"]小内存VPS WebMin优化设置 小内存VPS WebMin优化设置[/caption]

关闭不需要的服务器组件


点击 其他 -> 系统和服务器的状态


[caption id="attachment_857" align="aligncenter" width="500"]小内存VPS WebMin优化设置 小内存VPS WebMin优化设置[/caption]

MySQL内存优化


打开 服务器 -> MySQL 数据库服务器 -> MySQL Server Configuration


[caption id="attachment_858" align="aligncenter" width="484"]小内存VPS WebMin优化设置 小内存VPS WebMin优化设置[/caption]

附:MySQL内存占用参考公式


key_buffer_size+(read_buffer_size+sort_buffer_size)*max_connections=Total Memory

 

webmin/virtualmin 部分出500错误 (Internal Server Error,timeout fault)



  • php动态程序,大负载的网站,virtualmin/webmin执行php超时错误mod_fcgid: read data timeout in 31 seconds经常时不时出现,查看apache日志会发现类似如下错误:


    [Thu Dec 30 11:18:04 2010] [warn] mod_fcgid: read data timeout in 31 seconds
    [Thu Dec 30 11:18:04 2010] [error] [client 178.18.18.47] Premature end of script headers: ctohome.com.php
    [Thu Dec 30 11:25:56 2010] [warn] mod_fcgid: read data timeout in 31 seconds
    [Thu Dec 30 11:25:56 2010] [error] [client 178.18.18.47] Premature end of script headers: ctohome.com.php


     


    经过多次研究和调试,ctohome.com终于找到了virtualmin/webmin执行php超时错误的解决方法:


    第一步:


    php-max-memory.png


    第二步:


    php-max-exec-time.png
    php-max-exec-time.png


     


    重启apache,然后在试一试执行php程序,估计不会看到31秒的超时错误了。
     



【强烈推荐】wordpress优化 hyper cache+db cache reloaded fix安装教程

本文转自 老薜主机

FAQ

F:为什么要安装这两款插件?

Q:可以非常明显的提高wp加载速度,同时也降低对服务器的资源占用

F:我的wp已安装其他缓存类插件,如“super cache”,它们可以同时工作么?

Q:据我们观察,hyper cache+db cache reloaded fix这两款插件的配合比较完美,与其他插件配合可能存在不兼容问题,安装前请删除其他缓存类插件

注意:启用缓存后,可能会导致有时候修改博客无法立即看到效果,遇到这个问题的话在插件的设置页面清理一下缓存即可,即“clear cache”按钮

操作教程

1.登录wordpress后台,在左侧菜单选择“安装新插件”

2.在搜索框输入hyper cache,然后点击“搜索”

3.在安装搜索出来的结果中,选择第一个“hyper cache” 下方的“现在安装”,点击后会提示确认安装,点击“确定”即可开始安装!

 

4.安装完毕以后,点击“启用插件”

5.插件启用以后,使用FTP或者Cpanel的“文件文件管理器”把wp-config.php下载到电脑里面,推荐大家使用editplus或notepad++等高级文本编辑器,一定不要用记事本编辑。(ps:也可以使用cpanel控制面板文件管理器直接在线编辑文件)

使用文本编辑工具,打开wp-config.php,首先Ctrl+F搜索有没有define(‘WP_CACHE’, true);这句代码(如果之前你用过WP Cache和WP Super Cache,你的wp-config.php文件中应该有这一行,那就不用填了)

如果没有,在<?php的下面添加define(‘WP_CACHE’, true);

6.至此,您的“hyper cache”插件已经开始工作了!

7.重复1、2、3、4步操作,搜索安装“db cache reloaded fix”插件

8.启用db cache reloaded fix以后,在左侧菜单的“设置”找到 DB Cache Reloaded Fix By Ivan

9.在DB Cache Reloaded Fix By Ivan – 设置里面勾选“启动”选项,然后“保存即可”

保存后,您的db cache reloaded fix已经开始正常工作

2013年5月23日星期四

wordpress 搬家后 404错误解决方法(apaceh)

搬家后主页打开正常,打其他页面,提示 The requested URL /......  was not found on this server.


1、首先,查看各文件和文件的权限,使用chown把权限改为建站用户。


2、把wp-admin 修改了所有者后就可以打开wp-admin 后台了,把所有插件禁用。(这一步似乎没有必要。)


3、这是最重要的一步。在根目录下建立.htaccess 文件。


一定检查这里面的内容是否正确,从网页上复制的的字符,粘贴上去后有些符号会进行转码(或者说转义),导致内容不正确,.htaccess文件不能正确工作。


内容如下:


#BEGIN WordPress


 


RewriteEngine On


RewriteBase /


RewriteRule ^index\.php$ - [L]


RewriteCond %{REQUEST_FILENAME} !-f


RewriteCond %{REQUEST_FILENAME} !-d


RewriteRule . /index.php [L]


 


# END WordPress


 

2013年5月22日星期三

php升级到 5.2.6

直接修改/etc/yum.repos.d/utterramblings.repo  名字可以自己定义要以.repo结尾如abc.repo

在打开的文件中加入以下内容:

[abc]
name=Jason’s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

执行yum update php 

 

安装 后 重启apache

查看php 目前安装版本

# rpm -qa php

php-5.2.16-jason.1

WordPress .htaccess 的10个Hack技巧

.htaccess文件是用来控制Apache服务器的,它很有用,并允许你做很多事,下面就介绍关于.htaccess的10个修改方法,让你的 wordpress更加的安全、多功能、和可用性!
警告:在修改之前请你备份.htaccess,一边修改后出现错误你可以恢复!

1.重定向你的WordPress RSS feeds 到feedburner或feedsky

# temp redirect wordpress content feeds to feedburner
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://在feedburner你的地址 [R=302,NC,L]
</IfModule>

2.删除博客中的/category/你是不是觉得博客分类浏览url老有个/category/觉得很不滑爽?要移除 /category/,除了可以用插件Top Level Categories来实现,也可以通过修改.htaccess来实现!
打开.htaccess,在里边添加:一般是紧跟在最后一行RewriteRule ^字样的下面添加

RewriteRule ^category/(.+)$ http://www.yourblog.com/$1 [R=301,L]

注意:记得要把http://www.yourblog.com/替换为你的网址
3.使用浏览器的缓存
强制浏览器使用缓存,加速网页载入时间,当然是在网页没有改变的前提下

FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch "\.(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</filesmatch>
</ifmodule>

4.压缩静态数据
此代码肯定会节省您(和您的访客)带宽

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

5.重定向”day”和”name”到/%postname%/
如果你使用的固定链接为”/%year%/%monthnum%/%day%/%postname%/”,你又想把固定链接设置为” /%postname%/”,又怕以前的链接失效,那这个可以帮助你解决!
首先把你的固定链接设置成/%postname%/,然后在你的.htaccess添加:

RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ http://www.domain.com/$4

记得把www.domain.com替换成你的域名!
6.如果拒绝带网页链接评论
这个功能你可以使用akismet插件来完成,当然也可以通过修改.htaccess来完成!

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

记得把yourblog.com替换成你的域名!
7.如何重定向访问者到一个固定页面
有些时候你的博客要维护,你想把你的博客的访问者重定向到一个维护的说明页面,这个就能然你实现!

RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]

maintenance.html 这个就是你要重定向到的页面
8.拒绝引用你的博客的图片
有些时候由于其他网站引用你博客的图片使得你的流量暴增,这个功能将是别人无法引用你的图片!

RewriteEngine On
#Replace ?mysite\.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your "don't hotlink" image url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

记得把mysite.com修改成你的域名,nohotlink.jpg 为别人引用你图片时在他网站出现的图片!
9.只允许你自己的Ip地址才可以登录到wp-admin管理后台
其实这个也很有用,只是我们这些使用ADSL的无法拥有固定Ip,所以这个功能就有点无奈!

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Example Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from xx.xx.xx.xx
</LIMIT>

xx.xx.xx.xx为你的IP地址!
10.禁止指定的IP地址访问
有些时候你的博客可能受到同一个Ip地址的骚扰,比如说垃圾短信,你可以用禁止此IP访问的办法来抵制!

<Limit GET POST>
order allow,deny
deny from 200.49.176.139
allow from all
</Limit>

医院管理系统记录---切换服务器 编辑打印单

在服务器上运行“控制系统”,进入配置登陆服务器,可切换服务器 。快捷键为Ctrl+F(x) 自行设置。如下图。

打印时进入预览后,可在页面上点右键,进入编辑界面。

2013年5月21日星期二

我的老薜终身优惠码

2.第2-5个购买的童鞋,可以获得终身6折优惠,促销代码vps60

安装搭建CentOS6.x+Nginx+PHP+MariaDB(MySQL)+phpMyAdmin+Git+Gitweb(带 LNMP全自动安装shell脚本)


本篇教程中,我们用MariaDB代替大家所熟知的MySQL。因为MariaDB比MySQL有比较大的优越性。具体优点可以Google查阅相关文章。


名词解说:
LNMP是Linux web服务器组合套装的缩写,分别是Nginx+MySQL+PHP。


Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。


MariaDB 是一个采用 Maria 存储引擎的 MySQL 分支版本,是由原来 MySQL 的作者 Michael Widenius 创办的公司所开发的免费开源的数据库服务器。MariaDB数据库完全兼容MySQL数据库,因此可以直接把MySQL数据库的文件(.frm、.MYD、.MYI文件)拷贝到MariaDB数据库中直接运行。


与 MySQL 相比较,MariaDB 更强的地方在于:


Maria 存储引擎
PBXT 存储引擎
XtraDB 存储引擎
FederatedX 存储引擎
更快的复制查询处理
线程池
更少的警告和bug
运行速度更快
更多的 Extensions (More index parts, new startup options etc)
更好的功能测试
数据表消除
慢查询日志的扩展统计
支持对 Unicode 的排序


Git是一个由林纳斯·托瓦兹为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。最初的开发动力来自于 BitKeeper和Monotone。Git最初只是作为一个可以被其他前端比如Cogito或StGIT包装的后端而开发的。不过,后来Git内核已 经成熟到可以独立地用作版本控制。很多有名的软件都使用Git来进行版本控制,其中有Linux内核、X.Org服务器和OLPC内核开发。想了解更多 Git的信息和Git优于其它版本控制软件如Svn等可以自行Google查询。


Gitweb为Git 资源库提供了一个web界面,其中一个功能是提供RSS输入,用于跟踪项目的开发进展。简单的说,Gitweb和Git的关系就像是phpMyAdmin和MySQL的关系。


安装步骤:



  1. 我们使用root账户进行安装,首先切换到root账户,输入命令:
    su -

  2. 开始安装Nginx和PHP-FPM之前,我们必须卸载系统中以前安装的或系统自动安装的Apache和PHP然后更新软件库。输入下面的命令:
    yum remove httpd* php*  mysql
    yum update

  3. Nginx+PHP安装
    使用Nginx官方源,需要先安装epel扩展库和remi源,remi源基于epel,必须先安装epel源,remi包含php-fpm,mysql-server5.5(在本篇教程中我们已经使用MariaDB取代MySQL),如果只需要php-fpm可以单独安装php-fpm后禁用此源什么是epel:
    epel 即: Extra Packages for Enterprise Linux 的缩写,是yum 的一个相关丰富的的软件库!
    企业版Linux附加软件包(Extra Packages for Enterprise Linux,以下简称EPEL)是一个由特别兴趣小组(EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造)创建、维护并管理的,针对红帽企业版Linux(RHEL)及其衍生发行版(比如CentOS、Scientific Linux)的一个高质量附加软件包项目。为什么要配置epel源呢
    因为rhel6里很多开发包没有在iso里,在epel的源里(rhel6 是建立在fedra 12上的)!
    官方地址: http://fedoraproject.org/wiki/EPEL
    中国下载地址: ftp://mirrors.ustc.edu.cn/fedora/epel/或http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-5.noarch.rpm下面用到的参数说明:
    uvh指的是升级安装。而ivh就是指安装而已。
    u—upgrade install
    i—install安装EPEL源(注意:CentOs 5 的下载 EPEL5,CentOs6的下载 EPEL6 的版本,64位系统和32位系统的也请选择相应的源下载):
    CentOS6源:
    ## CentOS 6 64位Epel源##
    rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
    ## CentOS 6 32位Epel源##
    rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpmCentOS5源:
    ## CentOS 5  64位Epel源##
    rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
    ## CentOS 5  32位Epel源##
    rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm安装REMI源(注意:CentOs 5 的下载 EPEL5,CentOs6的下载 EPEL6 的版本):
    ## CentOS 6 Remi源##
    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    ## CentOS 5 Remi源##
    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm安装Nginx源:
    CentOS6
    rpm -Uvh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
    CentOS5
    rpm -Uvh http://nginx.org/packages/centos/5/noarch/RPMS/nginx-release-centos-5-0.el5.ngx.noarch.rpm安装compat-mysql55,解决MariaDB与mysql-lib版本中突的问题
    ##CenotOS6用到
    rpm -Uvh http://rpms.famillecollet.com/enterprise/6/test/x86_64/compat-mysql55-5.5.11-1.el6.remi.x86_64.rpm
    ##CenotOS5用到
    #rpm -Uvh http://rpms.famillecollet.com/enterprise/5/test/x86_64/compat-mysql55-5.5.11-1.el5.remi.x86_64.rpm安装Nginx,PHP 5.3.8,PHP-FPM和所需的PHP模块:
    yum --enablerepo=remi,remi-test install nginx php php-fpm php-common
    yum --enablerepo=remi,remi-test install php-pear php-pdo php-mysql
    yum --enablerepo=remi,remi-test install php-pgsql php-pecl-memcache
    yum --enablerepo=remi,remi-test install php-gd php-mbstring php-mcrypt php-xml

     


    PHP模块列表和说明:


    APC (php-pecl-apc) – APC caches and optimizes PHP intermediate code
    CLI (php-cli) – Command-line interface for PHP
    PEAR (php-pear) – PHP Extension and Application Repository framework
    PDO (php-pdo) – A database access abstraction module for PHP applications
    MySQL (php-mysql) – A module for PHP applications that use MySQL databases
    PostgreSQL (php-pgsql) – A PostgreSQL database module for PHP
    MongoDB (php-pecl-mongo) – PHP MongoDB database driver
    SQLite (php-sqlite) – Extension for the SQLite V2 Embeddable SQL Database Engine
    Memcache (php-pecl-memcache) – Extension to work with the Memcached caching daemon
    Memcached (php-pecl-memcached) – Extension to work with the Memcached caching daemon
    GD (php-gd) – A module for PHP applications for using the gd graphics library
    XML (php-xml) – A module for PHP applications which use XML
    MBString (php-mbstring) – A module for PHP applications which need multi-byte string handling
    MCrypt (php-mcrypt) – Standard PHP module provides mcrypt library support


    nginx安装方法二:
    a、配置CentOS 6.3 第三方yum源(CentOS默认的标准源里没有nginx软件包):
    #安装下载工具wget
    yum install wget
    #下载atomic yum源
    wget http://www.atomicorp.com/installers/atomic
    #安装
    sh ./atomic
    #更新yum软件包
    yum check-update
    b、安装nginx:
    #安装nginx,根据提示,输入Y安装即可成功安装
    yum install nginx


    配置nginx支持php
    cp /etc/nginx/nginx.conf  /etc/nginx/nginx.confbak    #备份原有配置文件
    vi /etc/nginx/nginx.conf  #编辑
    user   www www;  #修改nginx运行账号为:www组的www用户
    :wq!    #保存退出


    cp /etc/nginx/conf.d/default.conf  /etc/nginx/conf.d/default.confbak   #备份原有配置文件
    vi /etc/nginx/conf.d/default.conf   #编辑


    index  index.php index.html index.htm;   #增加index.php


    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    include        fastcgi_params;
    }
    #取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径


    配置php-fpm


    cp /etc/php-fpm.d/www.conf   /etc/php-fpm.d/www.confbak   #备份原有配置文件
    vi /etc/php-fpm.d/www.conf   #编辑
    user = www   #修改用户为www
    group = www   #修改组为www
    启动 Nginx 和 PHP-FPM:
    /etc/init.d/nginx start ## use restart after update
    ## OR ##
    service nginx start ## use restart after update


    /etc/init.d/php-fpm start ## use restart after update
    ## OR ##
    service php-fpm start ## use restart after update


    最后,设置 Nginx 和 PHP-FPM 开机自动启动:
    chkconfig --add nginx
    chkconfig --levels 235 nginx on
    chkconfig --add php-fpm
    chkconfig --levels 235 php-fpm on



  4. MariaDB的安装
    方法一:
    yum安装参考网址(速度可能有点慢):
    1、http://kb.askmonty.org/en/installing-mariadb-with-yum/#importing-the-mariadb-signing-key
    2、http://downloads.mariadb.org/mariadb/repositories/
    #导入MariaDB签名##########################################################
    rpm –import http://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    #添加MariaDB Yum 源#######################################################
    echo ‘# MariaDB repository list – created 2012-08-12 10:47 UTC
    # http://downloads.mariadb.org/mariadb/repositories/
    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/5.5/centos5-amd64
    gpgcheck=1′>>/etc/yum.repos.d/MariaDB.repo
    echo 中的内容是针对CentOS6系列64位的系统,如果您的系统是其它的版本,请在http://downloads.mariadb.org/mariadb/repositories/中自行选择,然后替换上面的内容#通过Yum安装MariaDB#######################################################
    yum install MariaDB-server MariaDB-client
    #启动MariaDB#############################################################
    /etc/init.d/mysql start方法二:
    rpm安装:
    参考网址:http://kb.askmonty.org/en/installing-mariadb-with-the-rpm-tool/加入启动项并启动mysql
    chkconfig –levels 235 mysql on
    /etc/init.d/mysql start
    设置mysql密码及相关设置
    mysql_secure_installation
    因为第一次启动这命令,所以直接回车下一步,然后输入你的mysql密码,按照提示操作,删除test数据库和禁止root用户远程登录等。

  5. 安装phpMyAdmin来管理MySQL:
    yum -y install phpmyadmin
    将phpMyAdmin的配置文件复制到apache配置文件目录:
    修改nginx配置文件cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak  #备份配置文件vi /etc/nginx/conf.d/default.conf  #修改配置文件,在server {
    listen       80;
    server_name  localhost;#charset koi8-r;

     


    #access_log  logs/host.access.log  main;


    location / {
    root   html;
    index index.php  index.html index.htm;
    }


    下面添加以下内容:


    location /phpmyadmin {
    alias /usr/share/phpmyadmin;
    index index.php;
    }


    location ~ /phpmyadmin/.+\.php$ {
    if ($fastcgi_script_name ~ /phpmyadmin/(.+\.php.*)$) {
    set $valid_fastcgi_script_name $1;
    }
    include fastcgi_params;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin/$valid_fastcgi_script_name;
    }


    :wq!   #保存,退出


    设置/home/phpmyadmin目录权限


    chown www.www /usr/share/phpmyadmin -R  #修改目录所有者为www账号


    service nginx restart   #重启nginx


    service php-fpm restart    #重启php-fpm


    现在可以使用域名+phpmyadmin来访问了http://192.168.1.100/phpmyadmin/



  6. 安装git和gitweb安装git
    安装git非常简单,在CentOS下只要以下命令即可# yum install git
    (用 yum install git-core也可以)
    安装gitweb
    # yum install gitweb
    系统默认安装到了/var/www/git下
    配置nginx访问git,git需要CGI支持,配置nginx支持CGI请参考网址:http://blog.onovps.com/archives/nginx-perl-fastcgi.html
    配置文件参考:










    01server {










    02    listen 80;










    03  #listen 443;










    04  server_name cgi.test.com;










    05  index gitweb.cgi;










    06 










    07  error_log /var/log/nginx/git.error.log;










    08  access_log /var/log/nginx/git.access.log;










    09 










    10  # ssl because cox sucks










    11  #ssl on;










    12  #ssl_certificate /etc/nginx/ssl/git.eatabrick.org;










    13  #ssl_certificate_key /etc/nginx/ssl/server.key;










    14 










    15  root /var/www/git;










    16 










    17  # static repo files for cloning over https










    18  location ~ ^.*\.git/objects/([0-9a-f]+/[0-9a-f]+|pack/pack-[0-9a-f]+.(pack|idx))$ {










    19    root /data/wwwroot/git/;










    20  }










    21 










    22  # requests that need to go to git-http-backend










    23  location ~ ^.*\.git/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$ {










    24    root /data/wwwroot/git;










    25 










    26    fastcgi_pass  unix:/tmp/perl-fastcgi.sock;










    27    fastcgi_param SCRIPT_FILENAME   /usr/libexec/git-core/git-http-backend;










    28    fastcgi_param PATH_INFO         \$uri;










    29    fastcgi_param GIT_PROJECT_ROOT  /data/wwwroot/git;










    30    include fastcgi_params;










    31  }










    32 










    33  # send anything else to gitweb if it\'s not a real file










    34  try_files \$uri @gitweb;










    35  location @gitweb {










    36    fastcgi_pass  unix:/tmp/perl-fastcgi.sock;










    37    fastcgi_param SCRIPT_FILENAME   /var/www/git/gitweb.cgi;










    38    fastcgi_param PATH_INFO         \$uri;










    39    fastcgi_param GITWEB_CONFIG     /etc/gitweb.conf;










    40    include fastcgi_params;










    41  }










    42}




    service nginx restart   #重启nginx
    service php-fpm restart    #重启php-fpm
    就可以通过IE浏览,http://xxxx/git/gitweb.cgi
    Git全自动安装shell脚本












    001#!/bin/bash










    002 










    003# -------------------------------------------------------------------------------










    004# Filename:    git.sh










    005# Revision:    1.1










    006# Date:        2012/09/10










    007# Author:      三木










    008# Email:       linmaogan#gmail.com










    009# Website:     www.3mu.me










    010# Description: 安装git










    011# Notes:       需要切换到root运行,版本针对64位系统,操作系统为CentOS6.3










    012# -------------------------------------------------------------------------------










    013# Copyright:   2012 (c) 三木










    014# License:     GPL










    015#










    016# This program is free software; you can redistribute it and/or










    017# modify it under the terms of the GNU General Public License










    018# as published by the Free Software Foundation; either version 2










    019# of the License, or (at your option) any later version.










    020#










    021# This program is distributed in the hope that it will be useful,










    022# but WITHOUT ANY WARRANTY; without even the implied warranty










    023# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the










    024# GNU General Public License for more details.










    025#










    026# you should have received a copy of the GNU General Public License










    027# along with this program (or with Nagios);










    028#










    029# Credits go to Ethan Galstad for coding Nagios










    030# If any changes are made to this script, please mail me a copy of the changes










    031# -------------------------------------------------------------------------------










    032#Version 1.0










    033#2012-08-21 三木 初始版本建立










    034#Version 1.1










    035#2012-09-10 三木 增加git的web服务器类型判断










    036# -------------------------------------------------------------------------------










    037 










    038#变量定义#############################################################################










    039#设置做为git的web服务器的类型,apache或nginx










    040SERVICE=apache










    041#设置Git默认访问的用户名和密码,可根据实际进行修改










    042DEFAULT_USER1=linmaogan










    043DEFAULT_USER2=linmaogan










    044DEFAULT_PASSWORD=123456










    045#安装git###############################################################################










    046yum -y install git










    047#安装gitweb############################################################################










    048yum -y install gitweb










    049#设置版本库的根目录####################################################################










    050cp -p /etc/gitweb.conf /etc/gitweb.conf.bak










    051sed -i 's/$projectroot = /#$projectroot = /g' /etc/gitweb.conf










    052echo '$projectroot = "/data/wwwroot/git";' >> /etc/gitweb.conf










    053#开启网址伪静态










    054echo '$feature{'pathinfo'}{'default'} = [1];' >> /etc/gitweb.conf










    055#生成虚拟主机配置文件##################################################################










    056if [ $SERVICE == 'apache' ];then










    057echo '










    058    ServerAdmin webmaster@build-server










    059    ServerName nb.tooqe.com










    060    #ServerAlias guiwan.com










    061 










    062    Alias /gitweb.css /var/www/git/gitweb.css










    063    Alias /gitweb.js /var/www/git/gitweb.js










    064    Alias /git-logo.png /var/www/git/git-logo.png










    065    Alias /git-favicon.png /var/www/git/git-favicon.png










    066 










    067    SetEnv GIT_PROJECT_ROOT /data/wwwroot/git










    068    SetEnv GIT_HTTP_EXPORT_ALL










    069    SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER










    070 










    071        AuthType Basic










    072        AuthName "Git"










    073        AuthUserFile /data/conf/gitweb.passwd










    074        Require valid-user










    075 










    076        Options +ExecCGI -Includes










    077 










    078    # This pattern matches git operations and passes them to http-backend










    079    ScriptAliasMatch \










    080        "(?x)^/git/(.*/(HEAD | \










    081                        info/refs | \










    082                        objects/(info/[^/]+ | \










    083                                 [0-9a-f]{2}/[0-9a-f]{38} | \










    084                                 pack/pack-[0-9a-f]{40}\.(pack|idx)) | \










    085                        git-(upload|receive)-pack))$" \










    086        /usr/libexec/git-core/git-http-backend/$1










    087 










    088    # Anything not matched above goes to displayable gitweb interface










    089    ScriptAlias /git /var/www/git/gitweb.cgi/










    090 










    091        Options FollowSymLinks +ExecCGI










    092        AddHandler cgi-script .cgi










    093 










    094' > /data/conf/sites-available/gitweb.conf










    095else










    096cat > /data/conf/sites-available/gitweb.conf << EOFI










    097server {










    098    listen 80;










    099  #listen 443;










    100  server_name cgi.test.com;










    101  index gitweb.cgi;










    102 










    103  error_log /var/log/nginx/git.error.log;










    104  access_log /var/log/nginx/git.access.log;










    105 










    106  # ssl because cox sucks










    107  #ssl on;










    108  #ssl_certificate /etc/nginx/ssl/git.eatabrick.org;










    109  #ssl_certificate_key /etc/nginx/ssl/server.key;










    110 










    111  root /var/www/git;










    112 










    113  # static repo files for cloning over https










    114  location ~ ^.*\.git/objects/([0-9a-f]+/[0-9a-f]+|pack/pack-[0-9a-f]+.(pack|idx))$ {










    115    root /data/wwwroot/git/;










    116  }










    117 










    118  # requests that need to go to git-http-backend










    119  location ~ ^.*\.git/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$ {










    120    root /data/wwwroot/git;










    121 










    122    fastcgi_pass  unix:/tmp/perl-fastcgi.sock;










    123    fastcgi_param SCRIPT_FILENAME   /usr/libexec/git-core/git-http-backend;










    124    fastcgi_param PATH_INFO         \$uri;










    125    fastcgi_param GIT_PROJECT_ROOT  /data/wwwroot/git;










    126    include fastcgi_params;










    127  }










    128 










    129  # send anything else to gitweb if it\'s not a real file










    130  try_files \$uri @gitweb;










    131  location @gitweb {










    132    fastcgi_pass  unix:/tmp/perl-fastcgi.sock;










    133    fastcgi_param SCRIPT_FILENAME   /var/www/git/gitweb.cgi;










    134    fastcgi_param PATH_INFO         \$uri;










    135    fastcgi_param GITWEB_CONFIG     /etc/gitweb.conf;










    136    include fastcgi_params;










    137  }










    138}










    139EOFI










    140fi










    141 










    142#apache创建sites-available/*到sites-enabled/*的链接










    143ln -s /data/conf/sites-available/gitweb.conf /data/conf/sites-enabled/










    144#创建初始密码##########################################################################










    145htpasswd -bc /data/conf/gitweb.passwd $DEFAULT_USER1 $DEFAULT_PASSWORD










    146htpasswd -b /data/conf/gitweb.passwd $DEFAULT_USER2 $DEFAULT_PASSWORD










    147#重启所有服务器










    148if [ $SERVICE == 'apache' ];then










    149    /etc/init.d/nginx restart










    150    /etc/init.d/php-fpm restart










    151    /etc/init.d/perl-fastcgi restart










    152else










    153    /etc/init.d/httpd restart










    154fi










    155 










    156/etc/init.d/mysql restart





  7. 本文在CentOS 6 64bit minimal版本上测试通过

  8. 到此,我们LNMP运行环境的搭建已经完成。

  9. 本来还打算写另一篇教程:[三木]十分钟教程之服务器安装搭建CentOS5.x+Nginx+PHP+MariaDB(MySQL)+phpMyAdmin(带LAMP全自动安装shell脚本),因为CentOS5.x和6.x的安装设置差不多,只是需要对yum源做相应的修改即可,所以针对CentOS5.x不再额外出教程,需要在这个版本上配置LNMP运行环境的同学直接参考这篇教程即可。

  10. LNMP全自动安装Shell脚本:











    001#!/bin/bash










    002 










    003# -------------------------------------------------------------------------------










    004# Filename:    lnmp.sh










    005# Revision:    1.0










    006# Date:        2012/08/21










    007# Author:      三木










    008# Email:       linmaogan#gmail.com










    009# Website:     www.3mu.me










    010# Description: CentOS6.3+Nginx+PHP+MariaDB+Memcache及相关扩展安装脚本










    011# Notes:       需要切换到root运行,版本针对64位系统,操作系统为CentOS6.3










    012# -------------------------------------------------------------------------------










    013# Copyright:   2012 (c) 三木










    014# License:     GPL










    015#










    016# This program is free software; you can redistribute it and/or










    017# modify it under the terms of the GNU General Public License










    018# as published by the Free Software Foundation; either version 2










    019# of the License, or (at your option) any later version.










    020#










    021# This program is distributed in the hope that it will be useful,










    022# but WITHOUT ANY WARRANTY; without even the implied warranty










    023# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the










    024# GNU General Public License for more details.










    025#










    026# you should have received a copy of the GNU General Public License










    027# along with this program (or with Nagios);










    028#










    029# Credits go to Ethan Galstad for coding Nagios










    030# If any changes are made to this script, please mail me a copy of the changes










    031# -------------------------------------------------------------------------------










    032#Version 1.0










    033#2012-08-21 三木 初始版本建立










    034#Version 1.1










    035#2012-09-01 三木 修复php不能连接mysql的bug










    036# -------------------------------------------------------------------------------










    037 










    038#变量定义#############################################################################










    039IS_VPS=1










    040#解锁系统文件#########################################################################










    041chattr -i /etc/passwd










    042chattr -i /etc/group










    043chattr -i /etc/shadow










    044chattr -i /etc/gshadow










    045#如果已安装Apache和PHP,则卸载########################################################










    046yum -y remove httpd* php*  mysql










    047#更新软件库###########################################################################










    048yum -y update










    049#安装Nginx源##########################################################################










    050rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm










    051#安装EPEL源###########################################################################










    052rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm










    053#安装REMI源###########################################################################










    054rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm










    055#安装Nginx############################################################################










    056yum -y --enablerepo=remi,remi-test install nginx










    057#加入启动项###########################################################################










    058chkconfig --levels 235 nginx on










    059#start Nginx##########################################################################










    060/etc/init.d/nginx start










    061#安装compat-mysql55,解决MariaDB与mysql-lib版本突的问题###############################










    062##CenotOS6用到










    063rpm -Uvh http://rpms.famillecollet.com/enterprise/6/test/x86_64/compat-mysql55-5.5.11-1.el6.remi.x86_64.rpm










    064##CenotOS5用到










    065#rpm -Uvh http://rpms.famillecollet.com/enterprise/5/test/x86_64/compat-mysql55-5.5.11-1.el5.remi.x86_64.rpm










    066#安装PHP和常用库######################################################################










    067yum -y --enablerepo=remi,remi-test install php php-fpm php-common php-pear php-pdo php-mysql php-pgsql php-pecl-memcache php-gd php-mbstring php-mcrypt php-xml










    068#php-fpm加入启动项####################################################################










    069chkconfig --levels 235 php-fpm on










    070#安装phpmyadmin#######################################################################










    071yum -y install phpmyadmin










    072#Importing the MariaDB Signing Key####################################################










    073rpm --import http://yum.mariadb.org/RPM-GPG-KEY-MariaDB










    074#Adding the MariaDB YUM Repository####################################################










    075echo '# MariaDB repository list - created 2012-08-12 09:38 UTC










    076# http://downloads.mariadb.org/mariadb/repositories/










    077[mariadb]










    078name = MariaDB










    079baseurl = http://yum.mariadb.org/5.5/centos6-amd64










    080gpgcheck=1'>>/etc/yum.repos.d/MariaDB.repo










    081#Installing MariaDB with YUM##########################################################










    082yum -y install MariaDB-server MariaDB-client










    083#加入启动项###########################################################################










    084chkconfig --levels 235 mysql on










    085#start MariaDB########################################################################










    086/etc/init.d/mysql start










    087#设置mysql密码及相关设置##############################################################










    088mysql_secure_installation










    089#配置php-fpm修改用户为nginx










    090cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.bak   #备份原有配置文件










    091sed -i 's/user = apache/user = www/g










    092s/group = apache/group = www/g' /etc/php-fpm.d/www.conf










    093#配置nginx支持php










    094cp /etc/nginx/nginx.conf  /etc/nginx/nginx.conf.bak    #备份原有配置文件










    095sed -i '1,5s/user  nginx/user   www  www/g










    096s/include \/etc\/nginx\/conf.d/#include \/etc\/nginx\/conf.d/g










    097/include \/etc\/nginx\/conf.d/a\\include \/data\/conf\/sites-enabled\/\*;' /etc/nginx/nginx.conf #修改nginx运行账号为:www组的www用户










    098 










    099echo "server {










    100    listen       80;










    101    server_name  localhost;










    102 










    103    charset utf8;










    104    #access_log  /var/log/nginx/log/host.access.log  main;










    105 










    106    location / {










    107        root   /www/wwwroot/web;










    108        index  index.html index.htm index.php;  #增加index.php










    109    }










    110 










    111    #error_page  404              /404.html;










    112 










    113    # redirect server error pages to the static page /50x.html










    114    #










    115    error_page   500 502 503 504  /50x.html;










    116    location = /50x.html {










    117        root   /www/wwwroot/web;










    118    }










    119 










    120    # proxy the PHP scripts to Apache listening on 127.0.0.1:80










    121    #










    122    #location ~ \.php$ {










    123    #    proxy_pass   http://127.0.0.1;










    124    #}










    125 










    126    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000










    127    #










    128    #取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径










    129    location ~ \.php$ {










    130        root           /www/wwwroot/web;










    131        fastcgi_pass   127.0.0.1:9000;










    132        fastcgi_index  index.php;










    133        fastcgi_param  SCRIPT_FILENAME  \$document_root\$fastcgi_script_name;










    134        include        fastcgi_params;










    135    }










    136 










    137    # deny access to .htaccess files, if Apache's document root










    138    # concurs with nginx's one










    139    #










    140    #location ~ /\.ht {










    141    #    deny  all;










    142    #}










    143}" > /etc/nginx/conf.d/default.conf










    144 










    145#####################################################################################










    146#####################################################################################










    147#目录设置############################################################################










    148#创建网站相关目录####################################################################










    149if [ $IS_VPS ];then










    150mkdir /home/data










    151ln -s /home/data /data










    152else










    153mkdir /data










    154fi










    155 










    156mkdir /www










    157mkdir /data/wwwroot










    158ln -s /data/wwwroot /www/










    159mkdir /data/wwwroot/log










    160mkdir /data/wwwroot/web










    161mkdir /data/wwwroot/git










    162mkdir /data/conf










    163mkdir /data/conf/sites-available










    164mkdir /data/conf/sites-enabled










    165 










    166mkdir /backup










    167ln -s /backup /data/










    168 










    169#配置文件目录设置######################################################################










    170#移动nginx配置文件










    171cp -p /etc/nginx/conf.d/default.conf  /etc/nginx/conf.d/default.conf.bak










    172mv /etc/nginx/conf.d/default.conf /data/conf/sites-available/










    173ln -s /data/conf/sites-available/default.conf /data/conf/sites-enabled/










    174 










    175cp -p /etc/nginx/nginx.conf  /etc/nginx/nginx.conf.bak










    176mv /etc/nginx/nginx.conf /data/conf/










    177ln -s /data/conf/nginx.conf /etc/nginx/










    178#移动mysql配置文件










    179cp -p /etc/my.cnf /etc/my.cnf.bak










    180mv /etc/my.cnf /data/conf/










    181ln -s /data/conf/my.cnf /etc/










    182#移动mysql数据库










    183cp -p /var/lib/mysql /var/lib/mysql-bak










    184mv /var/lib/mysql /data/










    185ln -s /data/mysql /var/lib/










    186#移动php配置文件










    187cp -p /etc/php.ini /etc/php.ini.bak










    188mv /etc/php.ini /data/conf/










    189ln -s /data/conf/php.ini /etc/










    190#移动php配置文件










    191cp -p /etc/php-fpm.conf  /etc/php-fpm.conf.bak










    192mv /etc/php-fpm.conf /data/conf/










    193ln -s /data/conf/php-fpm.conf /etc/










    194 










    195#添加www组和www用户####################################################################










    196groupadd www










    197useradd -g www www










    198#设置目录权限##########################################################################










    199chown -R www:www /data/wwwroot/web










    200#php配置#############################################################################










    201#修改时区










    202#禁用的函数










    203#禁止显示php版本的信息










    204sed -i 's/;date.timezone \=/date.timezone \= PRC/










    205s/disable_functions \=/disable_functions \= passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname/










    206s/expose_php = On/expose_php = Off/' /data/conf/php.ini










    207#设置session文件为www用户组










    208chown -R root:www /var/lib/php/session










    209#phpMyAdmin配置######################################################################










    210#设置config.inc.php文件为www用户组










    211chown root:www /usr/share/phpmyadmin/config.inc.php










    212#配置配置文件,将这里tooqe.com文字修改为自己的字符,可任意










    213sed -i "/blowfish_secret/s/''/'tooqe.com'/" /usr/share/phpmyadmin/config.inc.php










    214#phpMyAdmin虚拟主机设置










    215echo 'server {










    216        server_name  nb.tooqe.com;










    217        root /data/wwwroot/web;










    218        access_log /data/wwwroot/log/nb.tooqe.com-access.log;










    219        error_log /data/wwwroot/log/nb.tooqe.com-error.log;










    220 










    221        location / {










    222                index  index.html index.htm index.php;










    223        }










    224        location /phpmyadmin {










    225            alias /usr/share/phpmyadmin;










    226            index index.php;










    227        }










    228 










    229        location ~ /phpmyadmin/.+\.php$ {










    230            if ($fastcgi_script_name ~ /phpmyadmin/(.+\.php.*)$) {










    231                 set $valid_fastcgi_script_name $1;










    232                }










    233            include fastcgi_params;










    234            fastcgi_pass   127.0.0.1:9000;










    235            fastcgi_index  index.php;










    236            fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin/$valid_fastcgi_script_name;










    237        }










    238        location ~ \.php$ {










    239                include /etc/nginx/fastcgi_params;










    240                fastcgi_pass  127.0.0.1:9000;










    241                fastcgi_index index.php;










    242                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;










    243        }










    244}' > /data/conf/sites-available/phpmyadmin.conf










    245ln -s /data/conf/sites-available/phpmyadmin.conf /data/conf/sites-enabled/phpmyadmin.conf










    246#设置/usr/share/phpmyadmin目录权限










    247chown www.www /usr/share/phpmyadmin -R  #修改目录所有者为www账号










    248 










    249#开启防火墙










    250/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT










    251/sbin/iptables -I INPUT -p tcp --dport 443 -j ACCEPT










    252/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT










    253/etc/rc.d/init.d/iptables save










    254/etc/init.d/iptables restart










    255 










    256#重启所有服务器










    257/etc/init.d/nginx restart










    258/etc/init.d/php-fpm restart










    259/etc/init.d/mysql restart










    260#/etc/init.d/memcached restart










    261 










    262#系统文件加锁










    263chattr +i /etc/passwd










    264chattr +i /etc/shadow










    265chattr +i /etc/gshadow










    266chattr +i /etc/group






 


本文转自三木人生十分钟教程 转载下来只是为了方便自己查看