Centos 学习笔记
连网 ---------------------------------------- vi /etc/sysconfig/network-scripts/ifcfg-eth0 将ONBOOT = NO 改成 ONBOOT = yes yum --------------------------------------- //***********更换yum源 http://mirrors.163.com/.help/centos.html //***********查看yum库有哪些包 yum list | grep php-* //***********查看安装了哪些和php相关的文件 yum list installed | grep php //***********删除某个或多个安装包 yum remove php php-* nginx + php-fpm -------------------------------- //***********安装nginx 第一步,在/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo: cd /etc/yum.repos.d/ vim nginx.repo 填写如下内容: [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1 保存 下面直接执行如下指令即可自动安装好Nginx: yum install nginx -y 安装完成,下面直接就可以启动Nginx了: /etc/init.d/nginx start //***********nginx配置、启动 /etc/init.d/nginx start # 启动Nginx服务 /etc/init.d/nginx stop # 停止Nginx服务 /etc/nginx/nginx.conf # Nginx配置文件位置 //***********nginx根目录 vi /etc/nginx/conf.d/default.conf 修改 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; vi /etc/php-fpm/conf.d/www.conf 修改user为nginx /etc/init.d/php-fpm restart 端口 ---------------------------------- //***********开放端口 CentOS防火墙在虚拟机的CENTOS装好APACHE不能用,郁闷,解决方法如下 /sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT //iis /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT //apache /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT //mysql /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT //FTP 然后保存: /etc/rc.d/init.d/iptables save centos 5.3,5.4以上的版本需要用 service iptables save 这样重启计算机后,CentOS防火墙默认已经开放了80和22端口。 这里应该也可以不重启计算机: /etc/init.d/iptables restart CentOS防火墙的关闭,关闭其服务即可: 查看CentOS防火墙信息:/etc/init.d/iptables status 关闭CentOS防火墙服务:/etc/init.d/iptables stop //***********查看当前已经开放的端口 netstat -tanp 查找命令 ------------------- find . -name "nginx" whereis nginx ..... 安装fastcgi ------------------------------ yum install php-cgi php-fastcgi 开机自己启动 ---------------- chkconfig nginx on chkconfig php-fpm on Apache ------------------------------ yum install httpd /etc/init.d/httpd stop /etc/init.d/httpd start /etc/init.d/httpd restart //***********配置apache /etc/httpd/conf/httpd.conf //配置文件路径 ServerName www.example.com:80 改成 ServerName localhost:80 //解决重启httpd的时候出现报错 mysql ---------------------------------- yum install mysql mysql-server /etc/init.d/mysqld stop /etc/init.d/mysqld start /etc/init.d/mysqld restart service mysqld start 启动mysql chkconfig mysqld on 设置开机启动 //***********开机远程连接 mysql 进入mysql控制台 执行如下语句 CREATE USER 'xu'@'localhost' IDENTIFIED BY '123456' 创建用户 GRANT ALL PRIVILEGES ON *.* TO 'xu'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; //xu这个用户可以从任何计算机连接数据库 FLUSH PRIVILEGES; php --------------------------------- yum install php php-cli php-common php-fpm php-gd php-imap php-mbstring php-mysql php-odbc php-pdo php-pear php-xml php-xmlrpc //***********配置apache /etc/php.ini //配置文件路径 display_errors = On //开启php错误提示 Apache + Mysql + Php 融合 --------------------------------- 执行 getsebool -a | grep httpd 如果发现 httpd_can_network_connect --> off 则执行 setsebool httpd_can_network_connect 1 否则会出现 Could not connect: Can't connect to MySQL server on '127.0.0.1' (13) 2003 ftp -------------------------------- yum install vsftpd *网络查找如何配置vsftpd /etc/init.d/vsftpd start 启动ftp服务 /etc/init.d/vsftpd restart 重新启动ftp服务 service vsftpd start 启动ftp服务 service vsftpd status 查看ftp服务状态 service vsftpd restart 重启ftp服务 service vsftpd stop 关闭ftp服务 //添加FTP用户 useradd -d /var/www -g ftp -s /sbin/nologin double-a //新建用户,用户目录为var/www 用户组为ftp passwd double-a //设置密码 vi /etc/vsftpd/vsftpd.conf 将anonymous_enable改为NO,阻止匿名上传 将chroot_list_enable和chroot_list_file的注释去掉,阻止用户访问上级目录 在/etc/vsftpd下建立chroot_list文件,在其中添加用户username,(一个用户一行)使其只允许访问指定目录。 //错误提示:Transfer done (but failed to open directory). 现象:列表为空白 vi /etc/selinux/config SELINUX=disabled //设置好后reboot //错误提示:以 PASV 模式连接失败,正在尝试使用 PORT 模式 ftp软件设置的问题,将默认PASV模式修改成PORT模式 //错误提示:Could not create file 现象:无法上传文件 chmod 777 ftpfile git 服务端 ------------------------------------ 搭建git yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel 安装依赖 wget http://git-core.googlecode.com/files/git-1.9.0.tar.gz 源码包编译安装 tar zxvf git-1.9.0.tar.gz cd git-1.9.0 make prefix=/usr/local all 编译 make prefix=/usr/local install #root用户运行安装 git --version 查看是否安装成功 yum install python python-setuptools git clone git://github.com/res0nat0r/gitosis.git cd gitosis/ python setup.py install //显示Finished processing dependencies for gitosis==0.2即表示成功 adduser git 添加用户 passwd git 设置用户密码[非必要] 初始化Git仓库 cd /data/git/ git init --bare project.git 初始化一个仓库 chown -R git.git project.git 服务端添加ssh_key,避免每次pull或者push的时候都要输入密码[请确保下面新建的文件夹和文件属于新建的这个git用户] su git cd ~ mkdir .ssh cd .ssh touch authorized_keys cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys //将客户端公钥写入服务端 vi /etc/passwd 禁用git用户shell登录 git:x:1001:1001:git version control:/home/git:/bin/bash 改成 git:x:1001:1001:git version control:/home/git:/usr/bin/git-shell 克隆项目 git clone ssh://git@192.168.104.200/data/git/ebm //开发端 git clone /data/git/ebm.git //服务端 git clone /data/git/ebm.git /var/www/html/ebm_new_name //服务端clone到指定文件夹 用户 --------------------------------- cat /etc/group 查看所有组 cat /etc/passwd 查看所有用户 useradd -g test phpq //新建phpq用户并增加到test工作组 useradd -d /var/www -g ftp -s /sbin/nologin double-a //新建用户,用户目录为var/www 用户组为ftp,用户不允许登录,只能通过FTP连接 1、建用户: adduser phpq //新建phpq用户 passwd phpq //给phpq用户设置密码 2、建工作组 groupadd test //新建test工作组 3、新建用户同时增加工作组 useradd -g test phpq //新建phpq用户并增加到test工作组 注::-g 所属组 -d 家目录 -s 所用的SHELL 4、给已有的用户增加工作组 usermod -g groupname username 或者:gpasswd -a user group 5、临时关闭:在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。 或者使用如下命令关闭用户账号: passwd peter –l 重新释放: passwd peter –u 6、永久性删除用户账号 userdel peter groupdel peter usermod –G peter peter (强制删除该用户的主目录和主目录下的所有文件和子目录) 7、从组中删除用户 编辑/etc/group 找到GROUP1那一行,删除 A 或者用命令 gpasswd -d A GROUP 8、显示用户信息 id user cat /etc/passwd //小知识点。多个FTP用户管理不同的网站 useradd -d /var/www -g ftp -s /sbin/nologin double-a //添加用户并指定组 passwd double-a //设置密码 vi /etc/vsftp/chroot_list //添加doubel-a chmod 775 /var/www/html //根目录权限 chown -R ftp:double-a /var/www/html/double-a //一个网站指定一个FTP用户 session ------------------------- session无法获取到值问题 查看phpinfo信息,session的保存路径session.save_path是哪里,例如/var/lib/php/session 查看文件夹是否存在,不存在则新建 chown nginx:nginx /var/lib/php/session chmod 770 /var/lib/php/session 压缩、解压 --------------------------------- yum install unzip unzip test.zip 解压到当前目录 # unzip test.zip -d /root/ 解压到指定目录 zip -r test.zip test 1.txt 压缩test文件夹和1.txt文件到test.zip