
LAMP第一部分
查看编译了哪些软件:是编译时自动生成的
Cat /usr/local/apache2/build/config.nice
网站根目录存放处:
/usr/local/apache2/htdocs
启动apache
/usr/local/apache2/bin/apachectl start
监听端口 netstat –lnp 查看进程 ps aux |grep httpd
Vi conf/httd.conf 编辑servername
./bin/httpd –t 或者./bin/apachectl –t 检测是否正确。 有没有问题
Curl localhost - I 检测问题
Php解析时 安装什么用rpm –ql libjpeg-turbo-devel
Yum list |grep –i mcrypt 查询安装哪个包
注意这个错误:
Mcrypt.h not found Please reinstall libmcrypts
yum install –y epel-release
yum install –y libmcrypt-devel
Apache的配置文件
/usr/local/apache2/conf/httpd.conf
apache解析不了
则利用/usr/local/ apache2/bin/apachectl –M 查看php5_module (shared)
之后加载cp /usr/local/src/php-5.3.28/php.ini-production /usr/local/php/etc/php.ini
/usr/local/php/bin/php -i |grep -i configuration 用来查看加载成功没
其次查看 ls /usr/local/apache2/modules/libphp5.so
依旧不显示,ldd !$
第三步,查看 grep –I ‘addtype’ /usr/local/apache2/conf/httpd.conf
有没有Addtype applicatipn/x-httpd-php .php
最后重启httpd 基本可以解决问题
/usr/local/apache2/bin/apachectl –t
有时候可以 killall httpd 也可以查看selinux有没有关 getenforce 显示disabled
之后在/usr/local/apache2/bin/apachectl start
curl localhost/1.php 则可以显示编译的结果
/usr/local/php/bin/php 里面可以新建1.php
Php中\n是什么意思 、usr/local/php/bin/php –m 查看安装的模块 –i 查看编译的模块
编辑php时
/usr/local/php/bin/php
<?
Echo > “carlton”;
Echo > “\n”;
?>
如果改成phpinfo 则可以看到网页上的模块 缺哪里可以在这里看见
LAMP第二部分
Cd data/mysql 里面有一个文件Carlton.localdomain.err 可以查看日志
配置一个虚拟主机
删除httpd.conf中的这行前面的警号
#Include conf/extra/httpd-vhosts.conf
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
改完配置则/usr/local/apache2/bin/apachectl
–t 用来修改的配置有没有出错
之后在restart 想开机启动就放入init.d
C:\Windows\System32\drivers\etc hosts里面加入192.168.1.111 www.XX.com
这样就等同于本地解析
在linux中也要使用,vim
/etc/hosts 更改
关闭SELINUX的方法:
#vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled
353 AddType application/x-compress .Z
354
AddType application/x-gzip .gz .tgz
355
AddType application/x-httpd-php .php
cat /usr/local/apache2/build/config.nice 可以看编译的软件
etc/host
1、nginx编译参数:
#/usr/local/nginx/sbin/nginx -V
2、apache编译参数:
# cat /usr/local/apache/build/config.nice
3、php编译参数:
# /usr/local/php/bin/php -i |grep configure
4、mysql编译参数:
# cat /usr/local/mysql/bin/mysqlbug|grep configure
Ldd
/usr/local/apache2/modules/libphp5.so 查看文档
Grep –i ‘addtype’
/usr/local/apache2/conf/httpd.conf 查看有没有addtype
第三部分
Mysql –uroot 后面加上-p 改密码
第一种方法
还可以使用 ln –s
/usr/local/mysql/bin/mysql /usr/bin/mysql
第二种方法
Vim /etc/profile.d /path.sh里面加入 export PATH=$PATH:/usr/local/mysql/bin
之后source !$
create database discuz;
> grant all on discuz.* to
'aming'@'localhost' identified by '123456aminglinux';
> quit
vi http.conf
限制用户登录,需要密码
在相应的虚拟主机配置文件段,加入
<Directory *>
AllowOverride AuthConfig
AuthName "自定义的"
AuthType Basic
AuthUserFile /data/.htpasswd
# 这里的/data/.htpasswd你可以随便写一个路径或名字,没有限制
require valid-user
</Directory>
保存后,然后
创建apache的验证用户
/usr/local/apache2/bin/htpasswd -c /data/.htpasswd
carlton
htpasswd -cm /data/.htpasswd test
增加第二个用户的时候,就不要加-c了,因为-c是创建的意思,如果加上会把这个文件重写。
6. 配置域名跳转
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain1.com$
RewriteRule ^/(.*)$ http://www.domain2.com/$1 [R=301,L]
</IfModule>
如果是多个域名,可以这样设置:也就是多加了一个[OR]
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.domain.com [OR]
RewriteCond %{HTTP_HOST} ^www.domain1.com$
RewriteRule ^/(.*)$ http://www.domain2.com/$1 [R=301,L]
</IfModule>
或者: <IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.domain2.com$
RewriteRule ^/(.*)$ http://www.domain2.com/$1 [R=301,L]
</IfModule>
LAMP第四部分
discuz伪静态配置:
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/topic-(.+)\.html$
/portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/article-([0-9]+)-([0-9]+)\.html$
/portal.php?mod=view&aid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/forum-(\w+)-([0-9]+)\.html$
/forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule
^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$
/forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/group-([0-9]+)-([0-9]+)\.html$
/forum.php?mod=group&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/space-(username|uid)-(.+)\.html$
/home.php?mod=space&$1=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/blog-([0-9]+)-([0-9]+)\.html$
/home.php?mod=space&uid=$1&do=blog&id=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/archiver/(fid|tid)-([0-9]+)\.html$
/archiver/index.php?action=$1&value=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule
^/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ /plugin.php?id=$1:$2&%1
网站的根目录data /www/ data /attachment/forum
针对请求的uri去限制 文件
<filesmatch
"(.*)admin(.*)">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</filesmatch>
某个某陆下禁止解析php 目录
<Directory /data/www/path>
php_admin_flag engine off
<filesmatch
"(.*)php">
Order deny,allow
Deny from all
</filesmatch>
</Directory>
第五部分 MYSQL部分
/usr/local/php/bin/php –i |head 用来查看php的路径
Rc.local 复制到这里去
grant all on *.*
to 'root'@'192.168.1.111' identified by '123456'; 小心不打分号
第二步 授权select * from user where
host='192.168.1.111'\G;
远程登录mysql -uroot -h192.168.1.111 -P3306 –p
也可以通过mysql -uroot -S /tmp/mysql.sock –p 登录
库 表 行 字段 是这么一个逻辑
1. 忘记root密码
编辑mysql主配置文件 my.cnf 在[mysqld]字段下添加参数 skip-grant ,重启数据库服务,这样就可以进入数据库不用授权了 mysql -uroot ,修改相应用户密码 use mysql; update user set password=password('your password') where
user='root';flush privileges; 最后修改/etc/my.cnf 去掉 skip-grant , 重启mysql服务
2. skip-innodb 我们可以增加这个参数不使用innodb引擎。
3. 配置慢查询日志
#log_slow_queries = /path/to/slow_queries
#long_query_time = 1
4. mysql常用操作
查看都有哪些库 show databases;
查看某个库的表 use db; show tables;
查看表的字段 desc tb;
查看建表语句 show create table tb;
当前是哪个用户 select user();
当前库 select database();
创建库 create database db1;
创建表 create table t1 (`id` int(4), `name` char(40));
查看数据库版本 select version();
查看mysql状态 show status;
修改mysql参数 show variables like 'max_connect%'; set global max_connect_errors =
1000;
查看mysql队列 show processlist;
创建普通用户并授权 grant all on *.* to user1 identified by '123456';
grant all on db1.* to 'user2'@'10.0.2.100'
identified by '111222';
grant all on db1.* to 'user3'@'%' identified by
'231222';insert into tb1 (id,name) values(1,'aming');
更改密码 UPDATE mysql.user SET password=PASSWORD("newpwd") WHERE
user='username' ;
查询 select count(*) from mysql.user; select * from mysql.db; select * from
mysql.db where host like '10.0.%';
插入 update db1.t1 set name='aaa' where id=1;
清空表 truncate table db1.t1;
删除表 drop table db1.t1;
删除数据库 drop database db1;
修复表 repair table tb1 [use frm];
5. mysql备份与恢复
备份 mysqldump -uroot -p db >1.sql
恢复 mysql -uroot -p db <1.sql
只备份一个表 mysqldump -uroot -p db tb1 > 2.sql
备份时指定字符集 mysqldump -uroot -p --default-character-set=utf8 db
>1.sql
恢复也指定字符集 mysql -uroot -p
--default-character-set=utf8 db < 1.sql