centos安装完成重启后出现localhostlogin login

meng_philip 的BLOG
用户名:meng_philip
文章数:242
评论数:17
访问量:41778
注册日期:
阅读量:5863
阅读量:12276
阅读量:407518
阅读量:1095865
51CTO推荐博文
最近在重温linux的知识,感觉还是有很多问题会出现将遇到的问题整理如下:& 1、在通过vitrualbox安装好mini版centos,在安装lnmp环境的时候需要yum安装wget在命令行输入yum install wget回车的时候出现一下错误:& &&650) this.width=650;" alt="wKioL1WQyKmy10q4AAFvIb2ZJ60922.jpg" src="/wyfs02/M02/6F/0B/wKioL1WQyKmy10q4AAFvIb2ZJ60922.jpg" title="QQ截图08.png" style="margin:0padding:0border-width:0border-style:vertical-align:" />经过google和必应的搜索和验证最终发现是因为DNS配置错误,配置文件中没有配置DNS造成的。需要修改以下2个地方:& 1)&vi& /etc/sysconfig/network-scripts/ifcfg-eth0& & & 修改 &ONBOOT=yes &MM_CONTROLLED=no 这2个选项& 保存后 重启network service network restart& 2) vi /etc/resolve.conf 默认是空文件需要写内容& 在里面添加一个可以使用的dns, nameserver dns IP地址 然后保存&&最后重启下centos系统 一切正常使用2、搭建好LNMP环境之后,出现了Access Denied错误,现已排除掉文件权限的问题也排除掉是Nginx的问题,而是无法解析PHP的问题。发现网上的很多大牛都是通过Nginx的log来排查错误,但是打开nginx.conf发现其实我的log信息不够详细,于是希望能够配置一下log_format配置Nginx的 log_format& & ①打开nginx.conf& & ②将原来的log_format那一行删掉,用下面这部分替换&&& &log_format main '$remote_addr - $remote_user [$time_local] ' && & 'fwf[$http_x_forwarded_for] tip[$http_true_client_ip] ' && & '$upstream_addr $upstream_response_time $request_time ' && & '$geoip_country_code ' && & '$http_host $request ' && & '"$status" $body_bytes_sent "$http_referer" ' && & '"$http_accept_language" "$http_user_agent" ' &③保存退出重启nginx打开nginx的日志文件,找到error.log,tail -f error.log,发现如下错误650) this.width=650;" alt="wKioL1WQ-qzRkfljAAps7lJKeUA843.jpg" src="/wyfs02/M00/6F/0E/wKioL1WQ-qzRkfljAAps7lJKeUA843.jpg" title="QQ截图48.png" style="margin:0padding:0border-width:0border-style:vertical-align:" />从第一行中可以发现是PHP报错,搜索问题,发现是因为php限定了php仅能运行的目录,现在只能在/tmp/文件夹下运行,所以在nginx的www-root文件夹下运行不了,所以发生了拒绝访问的错误解决方案:& & ①打开php.ini文件& & ②找到open_basedir处& & ③将该行注释掉,注释掉的意思就是说php可以在任何文件夹下运行,如果希望能够在指定的文件夹下运行,则将open_basedir设定成相应的目录& & ④保存并退出重启PHP-FPM service php-fpm restart然后访问网页,发现解决了问题。3、当启动php-fpm出现以下错误的时候650) this.width=650;" alt="wKiom1WTR-yAtVNFAADUJM6YjrU252.jpg" src="/wyfs02/M01/6F/27/wKiom1WTR-yAtVNFAADUJM6YjrU252.jpg" title="QQ截图31.jpg" style="margin:0padding:0border-width:0border-style:vertical-align:" />解决方案:&①找到php-fpm的配置文件 一般yum安装在 /etc/php-fpm.conf找user和group配置项 如果没有请看该文件最后一行& ;See /etc/php-fpm.d/*.conf&②然后从&/etc/php-fpm.d/ 下面找到&找到user和group配置项 然后把值nignx改成nginx 然后重新启动fpm就可以了1.安装tcl支持yum&install&tcl  2.安装redis我们以最新的2.8.9为例$&wget&$&tar&xzf&redis-2.8.9.tar.gz$&cd&redis-2.8.9$&make$&make&test$&make&install&测试通过后安装,安装后会自动把redis-server,redis-cli,redis-benchmark,redis-check-aof,redis-check-dump复制到/usr/local/bin目录下。编辑redis.conf文件vi&redis.conf修改daemonize no改成yes。我们手动复制redis.conf到/etc目录下cp&redis.conf&/etc编写自init.d脚本。内容如下:############################chkconfig:&#description:&Start&and&Stop&redisPATH=/usr/local/bin:/sbin:/usr/bin:/bin&&&REDISPORT=6379EXEC=/usr/local/bin/redis-serverREDIS_CLI=/usr/local/bin/redis-cli&&&PIDFILE=/var/run/redis.pidCONF="/etc/redis.conf"&&&case&"$1"&in&&&&start)&&&&&&&&if&[&-f&$PIDFILE&]&&&&&&&&then&&&&&&&&&&&&&&&&echo&"$PIDFILE&exists,&process&is&already&running&or&crashed"&&&&&&&&else&&&&&&&&&&&&&&&&echo&"Starting&Redis&server..."&&&&&&&&&&&&&&&&$EXEC&$CONF&&&&&&&&fi&&&&&&&&if&[&"$?"="0"&]&&&&&&&&&then&&&&&&&&&&&&&&echo&"Redis&is&running..."&&&&&&&&fi&&&&&&&&;;&&&&stop)&&&&&&&&if&[&!&-f&$PIDFILE&]&&&&&&&&then&&&&&&&&&&&&&&&&echo&"$PIDFILE&does&not&exist,&process&is&not&running"&&&&&&&&else&&&&&&&&&&&&&&&&PID=$(cat&$PIDFILE)&&&&&&&&&&&&&&&&echo&"Stopping&..."&&&&&&&&&&&&&&&&$REDIS_CLI&-p&$REDISPORT&SHUTDOWN&&&&&&&&&&&&&&&&while&[&-x&${PIDFILE}&]&&&&&&&&&&&&&&&do&&&&&&&&&&&&&&&&&&&&echo&"Waiting&for&Redis&to&shutdown&..."&&&&&&&&&&&&&&&&&&&&sleep&1&&&&&&&&&&&&&&&&done&&&&&&&&&&&&&&&&echo&"Redis&stopped"&&&&&&&&fi&&&&&&&&;;&&&restart|force-reload)&&&&&&&&${0}&stop&&&&&&&&${0}&start&&&&&&&&;;&&*)&&&&echo&"Usage:&/etc/init.d/redis&{start|stop|restart|force-reload}"&&&2&&&&&&&&exit&1esac##############################可以通过winscp上传到/etc/init.d/目录下修改权限,可以运行chmod&+x&/etc/init.d/redis设置开机自动启动服务sudo&chkconfig&redis&on&启动服务:service&redis&start停止服务:service&redis&stop&配置防火墙打开对应的端口:vi&/etc/sysconfig/iptables-A&INPUT&-m&state&--state&NEW&-m&tcp&-p&tcp&--dport&6379&-j&ACCEPT&重启防火墙service&iptables&restart源码编译安装一下php扩展源码编译安装,去下载Libmcrypt,mhash,mcrypt安装包libmcrypt(libmcrypt-2.5.8.tar.gz&):mcrypt(mcrypt-2.6.8.tar.gz&):mhash(mhash-0.9.9.9.tar.gz&):wget&"wget&wget&2 .先安装Libmcrypt#tar&-zxvf&libmcrypt-2.5.8.tar.gz#cd&libmcrypt-2.5.8#./configure#make#make&install&说明:libmcript默认安装在/usr/local3.安装mhash#tar&-zxvf&mhash-0.9.9.9.tar.gz#cd&mhash-0.9.9.9#./configure#make#make&install4.安装mcrypt#tar&-zxvf&mcrypt-2.6.8.tar.gz#cd&mcrypt-2.6.8#LD_LIBRARY_PATH=/usr/local/lib&./configure#make#make&install最后,还是检查下,是否安装成功(2)、安装php的mcrypt扩展(动态加载编译)下载php下的mcrypt扩展或者直接下载php的完整安装包&网页下找到自己服务器的php版本,下载后tar解压(本人的是php5.3.3)进入ext/mcrypt文件夹上传 mcrypt文件夹到你服务器的某个目录下然后进入此目录执行phpize命令(phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,如果没有?yum install php53-devel里包含了,或者其他方法)[root@*_*&14:48&mcrypt]#&whereis&phpize&&&&//为了确定phpize存在phpize:&/usr/bin/phpize&/usr/share/man/man1/phpize.1.gz[root@*_*&14:48&mcrypt]#&phpizeConfiguring&for:PHP&Api&Version:&&&&&&&&&Zend&Module&Api&No:&&&&&&Zend&Extension&Api&No:&&&执行完后,会发现当前目录下多了一些configure文件,最后执行php-config命令就基本完成了执行以下命令,确保你的/usr/bin/php-config是存在的[root@*_*&15:02&mcrypt]#&whereis&php-configphp-config:&/usr/bin/php-config&/usr/share/man/man1/php-config.1.gz[root@*_*&15:02&mcrypt]#&./configure&--with-php-config=/usr/bin/php-config如果遇到以下错误,请先安装gcc,命令yum install gccconfigure:&error:&no&acceptable&C&compiler&found&in&$PATH直到不报错,出现:config.status: creating config.h,执行以下命令[root@*_*&15:06&mcrypt]#&make&&&&make&install最后的最后,会提示你如下,说明你大功告成了Installing&shared&extensions:&&&&&/usr/lib64/php/modules/顺便检查下/usr/lib64/php/modules/里的mrcypt.so扩展是否已经创建成功然后的事就简单了,给你的php.ini添加一条extension=mcrypt.so[root@*_*&15:09&mcrypt]#&cd&/etc/php.d创建一个mrcypt.ini文件就行,里面写extension=mcrypt.so[root@*_*&15:17&php.d]#&echo&'extension=mcrypt.so'&&&mcrypt.ini下载源文件安装包:解压:tar&-xzvf&bzip2-1.0.6.tar.gz进入解压后的目录:cd&bzip2-1.0.6为编译做准备,创建libbz2.so动态链接库(这一步很重要,安装python的时候如果没有这一步,python安装不上bz2模块):make&-f&Makefile-libbz2_so编译&&安装:make&&&&make&install至此,大功告成!发布时间:January 30, 2015 // 分类: //&在使用异步并发请求时如果有大量域名解析会长时间阻塞程序IO,可以编译升级libcurl以支持异步解析。Centos7自带libcurl已支持异步DNS支持,不过是--enable-threaded-resolver,可以使用curl-config --configure查看curl编译参数。查看Libcurl是否已支持异步DNS解析,包含AsynchDNS为支持:curl&--versioncurl&7.19.7&(x86_64-redhat-linux-gnu)&libcurl/7.40.0&OpenSSL/1.0.1e&zlib/1.2.3Protocols:&dict&file&ftp&ftps&gopher&http&https&imap&imaps&pop3&pop3s&rtsp&smb&smbs&smtp&smtps&telnet&tftp&Features:&AsynchDNS&IPv6&Largefile&NTLM&SSL&libz首先安装异步DNS解析库c-ares:yum&install&c-ares-devel&openssl-devel编译libcurl库:wget&tar&zxvf&curl-7.40.0.tar.gz&cd&curl-7.40.0/./configure&--enable-ares&--prefix=/usr/local/curl&--with-sslmake&&&&make&install查看编译安装的curl信息,已经支持了异步DNS解析库c-ares:/usr/local/curl/bin/curl&--versioncurl&7.40.0&(x86_64-unknown-linux-gnu)&libcurl/7.40.0&OpenSSL/1.0.1e&zlib/1.2.7&c-ares/1.10.0Protocols:&dict&file&ftp&ftps&gopher&http&https&imap&imaps&pop3&pop3s&rtsp&smb&smbs&smtp&smtps&telnet&tftp&Features:&AsynchDNS&IPv6&Largefile&NTLM&NTLM_WB&SSL&libz&UnixSockets将libcurl动态库添加到动态链接库:echo&'/usr/local/curl/lib'&&&/etc/ld.so.conf.d/libcurl.confldconfig使用libcurl库看是否支持c-ares:#include&&curl/curl.h&int&main(){&curl_version_info_data*info=curl_version_info(CURLVERSION_NOW);&if&(info-&features&CURL_VERSION_ASYNCHDNS)&{&&&printf(&"ares&enabled\n");&}&else&{&&&printf(&"ares&NOT&enabled\n");&}&return&0;}关于如何在linux编译安装LNMP可以参考我的blog&:&首先确定安装的php版本是线程安全的,如果不是的话重新编译加上&--enable-maintainer-zts&\1.解压tar&-zxvf&&pthreads-2.0.10.tgz&;2.进入源码文件夹&cd&pthreads-2.0.10&&执行&/usr/local/php/bin/3.执行./configure&--with-php-config=/usr/local/php/bin/php-config&&--enable-maintainer-zts&--enable-pthreads&--prefix=/usr/local/php-threads4.执行make&&&&make&5.编辑/usr/local/php/lib/php.ini加上extension=pthreads.so6.重启php就行了...pthreads&安装error:&pthreads&requires&ZTS,please&re-compile&PHP&with&ZTS&enabled研发的同事要求安装php&pthread扩展!tar&zxvf&pthreads-2.0.10.tgzcd&pthreads-2.0.10/usr/local/php/bin/phpize./configure&--with-php-config&--enable-maintainer-zts&--enable-pthreads&--prefix=/usr/local/php-threads##但在configure时却出错,提示:configure:&error:&pthreads&requires&ZTS,&please&re-compile&PHP&with&ZTS&enabled原因:&我在编译php的时候没有加入&Cenable-maintainer-zts&,这个必须要重新编译php,不能动态加载的!于是我重新编译了php,在原来的编译参数基础上那个加入了&-enable-maintainer-zts&,重新编译安装php即可!makemake&install并在php.ini中加入:extension_dir&=&"/usr/local/php/lib/php/extensions/no-debug-zts-"&##必须和你的目录相对应!extension&=pthreads.so重启php服务!/etc/init.d/php-fpm&restart如果还是安装不上pthreads的话 可以按照下面的方法启动php-fpm[root@***** ~]# killall php-fpm[root@***** ~]# /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini重新启动php-fpm 查看phpinfo可以看到Configuration File (php.ini) Path /usr/local/phpbLoaded Configuration File /usr/local/php/etc/php.ini&只要加载对了ini文件 pthreads就可以了tar&zxvf&php-5.6.10.tar.gzcd&php-5.6.10./configure&--prefix=/usr/local/php&--with-config-file-path=/usr/local/php/etc --enable-fpm&--with-mcrypt=/usr/local/libmcrypt&--enable-mbstring&--enable-pdo&--with-curl&--disable-debug&--disable-rpath&--enable-inline-optimization&--with-bz2&--with-zlib&--enable-sockets&--enable-sysvsem&--enable-sysvshm&--enable-pcntl&--enable-mbregex&--with-mhash&--enable-zip&--with-pcre-regex&--with-mysql&--with-mysqli&--with-gd&--with-jpeg-dir&--enable-maintainer-zts--enable-maintainer-zts(线程安全)make&&&&make&installcp&php.ini-production&/usr/local/php/etc/php.ini#复制php配置文件到安装目录rm&-rf&/etc/php.ini&#删除系统自带配置文件ln&-s&/usr/local/php/etc/php.ini&/etc/php.ini&#添加软链接到/etc目录cp&/usr/local/php/etc/php-fpm.conf.default&/usr/local/php/etc/php-fpm.conf#拷贝模板文件为php-fpm配置文件ln&-s&/usr/local/php/etc/php-fpm.conf&/etc/php-fpm.conf&#添加软连接到/etc目录vi&/usr/local/php/etc/php-fpm.conf#编辑user&=&nginx#设置php-fpm运行账号为nginxgroup&=&nginx#设置php-fpm运行组为nginxpid&=&run/php-fpm.pid#取消前面的分号:wq!#保存退出设置&php-fpm开机启动cp&/usr/local/src/php-5.6.10/sapi/fpm/init.d.php-fpm&/etc/rc.d/init.d/php-fpm#拷贝php-fpm到启动目录chmod&777&/etc/rc.d/init.d/php-fpm#添加执行权限chkconfig&php-fpm&on#设置开机启动vi&/usr/local/php/etc/php.ini#编辑配置文件找到: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#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。找到:;date.timezone&=修改为:date.timezone&=&PRC#设置时区找到:expose_php&=&On修改为:expose_php&=&Off#禁止显示php版本的信息找到:short_open_tag&=&Off修改为:short_open_tag&=&ON#支持php短标签找到opcache.enable=0修改为opcache.enable=1#php支持opcode缓存找到:opcache.enable_cli=1#php支持opcode缓存修改为:opcache.enable_cli=0在最后一行添加:extension=opcache.so#开启opcode缓存功能:wq!#保存退出Linux下查看mysql、apache是否安装,并卸载。指令 ps -ef|grep mysql 得出结果root&&&&&17659&&&&&1&&0&&2011&?&&&&&&&&00:00:00&/bin/sh&/usr/bin/mysqld_safe&--datadir=/var/lib/mysql&--socket=/var/lib/mysql/mysql.sock&--log-error=/var/log/mysqld.log&--pid-file=/var/run/mysqld/mysqld.pid &&mysql&&&&17719&17659&&0&&2011&?&&&&&&&&03:14:57&/usr/libexec/mysqld&--basedir=/usr&--datadir=/var/lib/mysql&--user=mysql&--pid-file=/var/run/mysqld/mysqld.pid&--skip-external-locking&--socket=/var/lib/mysql/mysql.sock&&usr/bin/mysql 是指:mysql的运行路径&var/lib/mysql 是指:mysql数据库文件的存放路径&usr/lib/mysql 是指:mysql的安装路径1,mysql 的守护进程是mysqld如果已经安装则:[root@localhost ~]# service mysqld start&启动 MySQL:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [确定]如果没有安装则:[root@localhost ~]# service mysqld start&mysqld:未被识别的服务你可以看看你的服务是否已经添加到linux上[root@localhost ~]# chkconfig --list mysqld&mysqld&&&&&&&&& 0:关闭& 1:关闭& 2:关闭& 3:关闭& 4:关闭& 5:启用& 6:关闭没有安装则:&[root@localhost ~]# chkconfig --list mysqld&在mysqld服务中读取信息时出错,没有那个文件或目录一旦你启动了服务,可以这样检查服务器是否在运行[root@localhost ~]# ps -el | grep mysqld&4 S&&&& 0& 1796&&&& 1& 0& 85&& 0 -& 1513 wait&& ?&&&&&&& 00:00:00 mysqld_safe&4 S&&& 27& & 0& 78&& 0 - 34055 -&&&&& ?&&&&&&& 00:00:00 mysqld&[root@localhost ~]#&如果你看到有,就说明服务器安装起来了~~linux下查看apache是否安装及版本如通是通过rpm包安装的话直接用下面的命令:&rpm -q httpd也可以使用如下两种方法:&httpd&& -vapachectl&& -vlinux下卸载mysql方法a. 查找已安装的myslq 版本:&#rpm& -qa | grep& mysql (注意大小写,如果mysql 不行就换MySQL)显示:&[root@localhost ~]# rpm& -qa | grep& mysql&mysql-5.0.77-4.el5_4.2&mysql-server-5.0.77-4.el5_4.2&php-mysql-5.2.13-1.el5.art&复制代码&在屏幕上将显示已安装的mysql包名如:mysql-5.0.77-4.el5_4.2 ;将搜索出的包名卸载:#rpm -e& Cnodeps mysql-5.0.77-4.el5_4.2& (nodeps表示强制删除)提示&error: package Cnodeps is not installed&error: package mysql-.0.77-4.e15_.2 is not installedLinux查看mysql 安装路径一、查看文件安装路径由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址)。这里以mysql为例。比如说我安装了mysql,但是不知道文件都安装在哪些地方、放在哪些文件夹里,可以用下面的命令查看所有的文件路径&在终端输入:whereis mysql回车,如果你安装好了mysql,就会显示文件安装的地址,例如我的显示(安装地址可能会不同)[root@localhost ~]# whereis mysql&mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz二、查询运行文件所在路径(文件夹地址)如果你只要查询文件的运行文件所在地址,直接用下面的命令就可以了(还是以mysql为例):which mysql终端显示:[root@localhost ~]# which mysql&/usr/bin/mysql跟随鸟哥的Linux私房菜进行学习的过程中,用locate 查找文件提示-bash: locate: command not found那就先updatedb一下吧提示-bash: updatedb: command not foundbaidu说updatedb 不能用先要安装 slocateyum install slocate提示找不到 slocate 相应的包&&原来是mlocate已经替换slocate了-------[root@localhost tmp]#&yum -y install mlocateLoaded plugins: fastestmirror&&&&&&&&&&&&&&Loading mirror speeds from cached hostfile&* base: mirrors.btte.net&&&&&&&&&&&&&&&&&&* extras: mirrors.btte.net&&&&&&&&&&&&&&&&* rpmforge: ftp.riken.jp&&&&&&&&&&&&&&&&&&* updates: mirrors.btte.net&&&&&&&&&&&&&&&Setting up Install Process&&&&&&&&&&&&&&&&&Resolving Dependencies&&&&&&&&&&&&&&&&&&&&&--& Running transaction check&&&&&&&&&&&&&&---& Package mlocate.i686 0:0.22.2-4.el6 set to be updated--& Finished Dependency Resolution&&&&&&&&&&&&&&&&&&&&&&&Dependencies Resolved==================================================================================================Package&&&&&&&&&&&&&&& Arch&&&&&&&&&&&&&&& Version&&&&&&&&&&&&&&&&&&&& Repository&&&&&&&&&& Size==================================================================================================Installing:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&mlocate&&&&&&&&&&&&&&& i686&&&&&&&&&&&&&&& 0.22.2-4.el6&&&&&&&&&&&&&&& base&&&&&&&&&&&&&&&& 85 kTransaction Summary==================================================================================================Install&&&&&& 1 Package(s)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Upgrade&&&&&& 0 Package(s)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Total download size: 85 kInstalled size: 273 k&&&Downloading Packages:&&&mlocate-0.22.2-4.el6.i686.rpm&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& |& 85 kB&&&& 00:00&&&&Running rpm_check_debug&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Running Transaction Test&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Transaction Test Succeeded&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Running Transaction&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Installing&&&& : mlocate-0.22.2-4.el6.i686&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 1/1Installed:& mlocate.i686 0:0.22.2-4.el6&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Complete!但是[root@localhost tmp]# locate passwdlocate: can not stat () `/var/lib/mlocate/mlocate.db': 没有那个文件或目录安装成功了,现在使用 updatedb 命令来创建locate命令依赖的数据库。[root@localhost tmp]# updatedb这样就OK了CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14。正文:一:卸载旧版本使用下面的命令检查是否安装有MySQL Serverrpm -qa | grep mysql有的话通过下面的命令来卸载掉rpm -e mysql & //普通删除模式rpm -e --nodeps mysql & &// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除二:安装MySQL安装编译代码需要的包yum -y install make gcc-c++ cmake bison-devel &ncurses-devel下载MySQL 5.6.14wget /Downloads/MySQL-5.6/mysql-5.6.14.tar.gztar xvf mysql-5.6.14.tar.gzcd mysql-5.6.14编译安装cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_cimake && make install编译的参数可以参考/doc/refman/5.5/en/source-configuration-options.html。整个过程需要30分钟左右……漫长的等待三:配置MySQL设置权限使用下面的命令查看是否有mysql用户及用户组cat /etc/passwd 查看用户列表cat /etc/group &查看用户组列表如果没有就创建groupadd mysqluseradd -g mysql mysql修改/usr/local/mysql权限chown -R mysql:mysql /usr/local/mysql修改/usr/local/mysql权限初始化配置进入安装路径cd /usr/local/mysql进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$f",在本例中就是 /usr/local/f,这是新版MySQL的配置文件的默认位置!注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/f.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。启动MySQL添加服务,拷贝服务脚本到init.d目录,并设置开机启动cp support-files/mysql.server /etc/init.d/mysqlchkconfig mysql onservice mysql start &--启动MySQL配置用户MySQL启动成功后,root默认没有密码,我们需要设置root密码。设置之前,我们需要先设置PATH,要不不能直接调用mysql修改/etc/profile文件,在文件末尾添加PATH=/usr/local/mysql/bin:$PATHexport PATH关闭文件,运行下面的命令,让配置立即生效source /etc/profile现在,我们可以在终端内直接输入mysql进入,mysql的环境了执行下面的命令修改root密码mysql -uroot &mysql& SET PASSWORD = PASSWORD('123456');若要设置root用户可以远程访问,执行mysql& GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;红色的password为远程访问时,root用户的密码,可以和本地不同。配置防火墙防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口打开/etc/sysconfig/iptables在“-A INPUT Cm state --state NEW Cm tcp Cp Cdport 22 Cj ACCEPT”,下添加:-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:service iptables restart&OK,一切配置完毕,你可以访问你的MySQL了~------------------------------------------------------------------------------------------------------------------日添加:CentOS 7中默认使用Firewalld做防火墙,所以修改iptables后,在重启系统后,根本不管用。Firewalld中添加端口方法如下:firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --reloadmysql主从配置uuid相同错误解决(mysql5.6)配置mysql主从时,由于是拷贝的mysql目录,导致主从mysql uuid相同, Slave_IO无法启动,报错信息如下:The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.解决办法:修改mysql data 目录下f 文件中uuid的值,使两台mysql不同即可,修改后重启mysql服务。在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络.#运行用户user www-&&&&#启动进程,通常设置成和cpu的数量相等worker_processes& 1;#全局错误日志及PID文件error_log& /var/log/nginx/error.pid&&&&&&& /var/run/nginx.#工作模式及连接数上限events {&&& use&&&&&&&&&&&&&& #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能&&& worker_connections& 1024;#单个后台worker process进程的最大并发链接数&&& # multi_&}#设定http服务器,利用它的反向代理功能提供负载均衡支持http {&&&& #设定mime类型,类型由mime.type文件定义&&& include&&&&&& /etc/nginx/mime.&&& default_type& application/octet-&&& #设定日志格式&&& access_log&&& /var/log/nginx/access.&&& #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,&&& #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.&&& sendfile&&&&&&&&&& #tcp_nopush&&&&&&& #连接超时时间&&& #keepalive_timeout& 0;&&& keepalive_timeout& 65;&&& tcp_nodelay&&&&&&&&&&&&&& #开启gzip压缩&&& gzip&&&& gzip_disable "MSIE [1-6]\.(?!.*SV1)";&&& #设定请求缓冲&&& client_header_buffer_size&&& 1k;&&& large_client_header_buffers& 4 4k;&&& include /etc/nginx/conf.d/*.&&& include /etc/nginx/sites-enabled/*;&&& #设定负载均衡的服务器列表&&&& upstream mysvr {&&& #weigth参数表示权值,权值越高被分配到的几率越大&&& #本机上的Squid开启3128端口&&& server 192.168.8.1:3128 weight=5;&&& server 192.168.8.2:80& weight=1;&&& server 192.168.8.3:80& weight=6;&&& }&& server {&&& #侦听80端口&&&&&&& listen&&&&&& 80;&&&&&&& #定义使用访问&&&&&&& server_name& ;&&&&&&& #设定本虚拟主机的访问日志&&&&&&& access_log& logs/.access.log&&&& #默认请求&&& location / {&&&&&&&&& root&& /&&&&& #定义服务器的默认网站根目录位置&&&&&&&&& index index.php index.html index.&& #定义首页索引文件的名称&&&&&&&&& fastcgi_pass& ;&&&&&&&& fastcgi_param& SCRIPT_FILENAME& $document_root/$fastcgi_script_&&&&&&&&&& include /etc/nginx/fastcgi_&&&&&&& }&&& # 定义错误提示页面&&& error_page&& 500 502 503 504 /50x.&&&&&&&&& location = /50x.html {&&&&&&& root&& /&&& }&&& #静态文件,nginx自己处理&&& location ~ ^/(images|javascript|js|css|flash|media|static)/ {&&&&&&& root /var/www/virtual/&&&&&&& #过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。&&&&&&& expires 30d;&&& }&&& #PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.&&& location ~ \.php$ {&&&&&&& root /&&&&&&& fastcgi_pass 127.0.0.1:9000;&&&&&&& fastcgi_index index.&&&&&&& fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_&&&&&&& include fastcgi_&&& }&&& #设定查看Nginx状态的地址&&& location /NginxStatus {&&&&&&& stub_status&&&&&&&&&&&&&&&&&& access_log&&&&&&&&&&&&&&&&&&&& auth_basic&&&&&&&&&&&&& "NginxStatus";&&&&&&& auth_basic_user_file& conf/&&& }&&& #禁止访问 .htxxx 文件&&& location ~ /\.ht {&&&&&&&&&& }&&&&&&&&& }}以上是一些基本的配置,使用Nginx最大的好处就是负载均衡如果要使用负载均衡的话,可以修改配置http节点如下:#设定http服务器,利用它的反向代理功能提供负载均衡支持http {&&&& #设定mime类型,类型由mime.type文件定义&&& include&&&&&& /etc/nginx/mime.&&& default_type& application/octet-&&& #设定日志格式&&& access_log&&& /var/log/nginx/access.&&& #省略上文有的一些配置节点&&& #。。。。。。。。。。&&& #设定负载均衡的服务器列表&&&& upstream mysvr {&&& #weigth参数表示权值,权值越高被分配到的几率越大&&& server 192.168.8.1x:3128 weight=5;#本机上的Squid开启3128端口&&& server 192.168.8.2x:80& weight=1;&&& server 192.168.8.3x:80& weight=6;&&& }&& upstream mysvr2 {&&& #weigth参数表示权值,权值越高被分配到的几率越大&&& server 192.168.8.x:80& weight=1;&&& server 192.168.8.x:80& weight=6;&&& }&& #第一个虚拟服务器&& server {&&& #侦听192.168.8.x的80端口&&&&&&& listen&&&&&& 80;&&&&&&& server_name& 192.168.8.x;& & & #对aspx后缀的进行负载均衡请求& &&location ~ .*\.aspx$ {& & & && root & / & && #定义服务器的默认网站根目录位置&&&&&&&&& index index.php index.html index.&& #定义首页索引文件的名称&&&&&&&&& proxy_pass& http://#请求转向mysvr 定义的服务器列表&&&&&&&&& #以下是一些反向代理的配置可删除.&&&&&&&&& proxy_&&&&&&&&& #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP&&&&&&&&& proxy_set_header Host $&&&&&&&&& proxy_set_header X-Real-IP $remote_&&&&&&&&& proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_&&&&&&&&& client_max_body_size 10m;&&& #允许客户端请求的最大单文件字节数&&&&&&&&& client_body_buffer_size 128k;& #缓冲区代理缓冲用户端请求的最大字节数,&&&&&&&&& proxy_connect_timeout 90;& #nginx跟后端服务器连接超时时间(代理连接超时)&&&&&&&&& proxy_send_timeout 90;&&&&&&& #后端服务器数据回传时间(代理发送超时)&&&&&&&&& proxy_read_timeout 90;&&&&&&&& #连接成功后,后端服务器响应时间(代理接收超时)&&&&&&&&& proxy_buffer_size 4k;&&&&&&&&&&&& #设置代理服务器(nginx)保存用户头信息的缓冲区大小&&&&&&&&& proxy_buffers 4 32k;&&&&&&&&&&&&&& #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置&&&&&&&&& proxy_busy_buffers_size 64k;&&& #高负荷下缓冲大小(proxy_buffers*2)&&&&&&&&& proxy_temp_file_write_size 64k;& #设定缓存文件夹大小,大于这个值,将从upstream服务器传&&&&&& }&&&& }}Redis安装和相关设置1、安装需要的支持环境在安装Redis之前首要先做的是安装Unix的Tcl工具,如果不安装的话后期将无法对Redis进行测试。在后期执行make test的时候返回如下错误信息:You need tcl 8.xuyao de5 or newer in order to run the Redis test,具体的流程为:复制代码 代码如下:cd /usr/local/srcwget http://downloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gztar -zxvf tcl8.6.3-src.tar.gzcd tcl8.6.3/unix/./configuremakemake install2、安装redis安装redis的过程非常的简单,具体教程官网也有。具体如下:http://redis.io/download复制代码 代码如下:cd /usr/local/srcwget http://download.redis.io/releases/redis-2.8.19.tar.gztar zxvf redis-2.8.19.tar.gzcd redis-2.8.19makemake PREFIX=/usr/local/redis install其中PREFIX=/usr/local/redis可以省略,省略情况下redis会默认安装到/usr/local/bin目录下。3、测试Redis复制代码 代码如下:cd srcmake test通过以上命令就要可以对redis进行加大的测试。4、配置redisA、复制并修改配置文档复制代码 代码如下:cp ./redis.conf /usr/local/redis/vim /usr/local/redis/redis.conf我只修改了如下两项:daemonize yes #redis将以守护进程的方式运行,默认为no会暂用你的终端timeout 300 #当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能更多的配置内容,后续梳理完成后再发布出来。B、设置自动启动复制代码 代码如下:vim /etc/init.d/redis文件中保存如下内容:复制代码 代码如下:#!/bin/sh## redis & & & &Startup script for Redis Server## chkconfig: - 80 12# description: Redis is an open source, advanced key-value store.## processname: redis-server# config: /etc/redis.conf# pidfile: /var/run/redis.pidsource /etc/init.d/functionsBIN="/usr/local/redis/bin"CONFIG="/usr/local/redis/redis.conf"PIDFILE="/var/run/redis.pid"### Read configuration[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"RETVAL=0prog="redis-server"desc="Redis Server"start() {& & & & if [ -e $PIDFILE ];then& & & & & & &echo "$desc already running...."& & & & & & &exit 1& & & & fi& & & & echo -n $"Starting $desc: "& & & & daemon $BIN/$prog $CONFIG& & & & RETVAL=$?& & & & echo& & & & [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog& & & & return $RETVAL}stop() {& & & & echo -n $"Stop $desc: "& & & & killproc $prog& & & & RETVAL=$?& & & & echo& & & & [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE& & & & return $RETVAL}restart() {& & & & stop& & & & start}case "$1" in& start)& & & & start& & & & ;;& stop)& & & & stop& & & & ;;& restart)& & & & restart& & & & ;;& condrestart)& & & & [ -e /var/lock/subsys/$prog ] && restart& & & & RETVAL=$?& & & & ;;& status)& & & & status $prog& & & & RETVAL=$?& & & & ;;& &*)& & & & echo $"Usage: $0 {start|stop|restart|condrestart|status}"& & & & RETVAL=1esacexit $RETVALC、启动或关闭服务复制代码 代码如下:service redis startservice redis stop5、使用redis复制代码 代码如下:[root@localhost redis]# cd /usr/local/redis/bin[root@localhost bin]# ./redis-cli127.0.0.1:6379& set foo barOK127.0.0.1:6379& get foo"bar"127.0.0.1:6379&& 问题: 虚拟机使用桥接模式 设置好ssh iptables也开了但是xshell就是链接不上去的原因是&&&&&&设置好这些内容重启后 &为啥还是不行呢首先从vmware的网络配置中可以看出桥接是用的真实网卡 nat模式用的是Vmnet8 hostonly用的是Vmnet1所以就可以看出来问题如果Vmnet1和8有ip和真实网卡在一个网段的话 就会有问题 改了ip后重新用xshell连接就可以进去了linux 64系统中安装nginx1.9.0时如果出现错误:nginx: [emerg] getpwnam(“nginx”) failed解决方法1:& & & 在nginx.conf中 把user nginx的注释去掉既可解决方法2:& & & 错误的原因是没有创建nginx这个用户,应该在服务器系统中添加nginx用户组和用户nginx,如下命令:#/usr/sbin/groupadd -f nginx#/usr/sbin/useradd -g nginx nginx&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
14:46:32 13:57:07 11:02:45 16:32:45}

我要回帖

更多关于 centos重启后光标闪 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信