海运的博客

Debian7使用apt-get源安装LNMP

发布时间:December 5, 2013 // 分类:Nginx // No Comments

Debian7官方源添加了php-fpm软件包,现可通过apt-get快速安装部署LNMP环境了。
安装Mysql:

apt-get install -y mysql-server mysql-client

安装PHP:

apt-get install php5-cli php5-fpm php5-mysql php5-curl

安装Nginx:

apt-get install nginx-full

Nginx主配置文件为:

/etc/nginx/nginx.conf

调用虚拟主机配置文件目录:

/etc/nginx/sites-enabled/

修改默认虚拟主机配置文件支持PHP解析:

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
    #    # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #
    #    # With php5-cgi alone:
    #    fastcgi_pass 127.0.0.1:9000;
    #    # With php5-fpm:
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }

MySQL删除mysql-bin日志

发布时间:November 24, 2012 // 分类:数据库 // 1 Comment

近期有客户Linux服务器遇到MySQL不能关闭,关机时也一直卡在MySQL关闭中状态,查看系统日志是硬盘没有空间的原因,其罪魁祸首就是MySQL日志占用了大量空间,删除mysql-bin日志如下:

mysql -uroot -ppasswd -e 'reset master;'

对于普通用户不需主从同步,可禁用mysql-bin日志:

#log-bin=mysql-bin

Mysql配置允许远程连接

发布时间:September 26, 2012 // 分类:数据库 // No Comments

MySQL查看当前用户及允许登录的IP:

#https://www.haiyun.me
select host,user from mysql.user;
+-----------+--------+
| host      | user   |
+-----------+--------+
| 127.0.0.1 | root   | 
| localhost | root   | 
+-----------+--------+
2 rows in set (0.00 sec)

新建用户允许特定IP连接,%允许所有。

grant all privileges on *.* to 'root'@'%' identified by 'password' ;

或更新现用户host信息:

update mysql.user set host = '%' where user = 'root';

刷新权限:

flush privileges; 

如果还不能连接检查防火墙是否开放相应端口,mysql监听ip地址,mysql是否禁用通过tcp连接。

Apache/PHP/Mysql/Nginx编译参数查看

发布时间:June 20, 2012 // 分类:Apache,Nginx,PHP,数据库 // No Comments

查看Nginx编译参数:

/usr/local/nginx/sbin/nginx -V

查看Apache编译参数:

cat /usr/local/apache/build/config.nice

查看PHP编译参数:

/usr/local/php/bin/php -i |grep configure

查看Mysql编译参数:

cat /usr/local/mysql/bin/mysqlbug|grep configure

Mysql基本安全设置

发布时间:May 27, 2012 // 分类:数据库 // No Comments

1.设置或修改Mysql root密码:
默认安装后空密码,以mysqladmin命令设置密码:

mysqladmin -uroot password "password"

Mysql命令设置密码:

mysql> set password for root@localhost=password('password);

更改密码:

update mysql.user set password=password('password') where user='root';
flush privileges;

2.删除默认的数据库和用户

drop database test;
use mysql;
delete from db;
delete from user where not(host="localhost" and user="root");
flush privileges;
  1. 更改默认root账号名称:
update mysql.user set user="admin" where user="root";
flush privileges;
  1. 本地文件安全:
set-variable=local-infile=0
  1. 禁止远程连接mysql,远程管理可通过phpmyadmin,编辑my.cnf在[mysqld]添加:
skip-networking

6.最小权限用户:

#CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
GRANT USAGE ON *.* TO 'user'@'localhost' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE  ON `databases`.* TO 'user'@'localhost';  
  1. 限制普通用户浏览其它数据库,编辑my.cnf在[mysqld]添加:
--skip-show-database

8.快速修复MySQL数据库
修复数据库

mysqlcheck -A -o -r -p

修复指定的数据库

mysqlcheck  -o -r database -p

9.跟据内存的大小选择MySQL的配置文件:

my-small.cnf # > my-medium.cnf # 32M - 64M
my-large.cnf # memory = 512M
my-huge.cnf # 1G-2G
my-innodb-heavy-4G.cnf # 4GB
分类
最新文章
最近回复
  • spartan2: https://dashboard.hcaptcha.com/welcome_accessib...
  • 海运: 应该能,在购买页面先手工跳过cf机器验证,后续一定时间内不更换ip应该不会再次验证。
  • spartan: 大佬斯巴达开启了CF的机器识别验证,请问插件能自动跳过吗? 另外这个脚本有没有简单使用说明,新...
  • vincent: 膜拜大佬
  • 海运: proxy-header或proxy_protocol
  • liangjw: 如果是 内部调用 或者 中间存在 代理 而上一个代理又在内网 ,那怎么处理来自代理私有IP?
  • chainofhonor: 感谢,用dnsmasq设置自动判断BIOS和UEFI成功了
  • 海运: 不好意思,这个是很多年前的,现在也许已经不适用,我现在也不用多线了。
  • CQ: -m state --state NEW 替换成-m conntrack --ctstate NEW
  • CQ: 你好,我入站已经成功分流,但是不知道出站怎么设置,PREROUTING替换成POSTROUTI...