2009年03月25日

VPS初始化及Nginx+MySQL+PHP/PHPMyAdmin安装优化

VPS购买来了,不能就这么放在,对吧。下面给大家说一下VPS买来之后的初始化操作,及Nginx+MySQL+PHP+PHPMyAdmin+eAcelerator这些软件的编译安装。

一、登录VPS

登录的方式很多,如果是Linux直接ssh就可以。

下面以Windows下putty为例:

putty

填写上IP或域名,再写个名字,save ,然后Open

1

二、安装LNMP

安装Nginx+MySQL+PHP+PHPMyAdmin+eAcelerator使用LicessLNMP

有些VPS默认是安装Apahche的,如果安装了,请先执行:yum -y remove httpd

下面是按照的过程使用的命令,及相关注释(注释用 //,红色加粗为所使用的命令)

Using username “root”.
root@67.215.242.196’s password:
[root@vpser ~]#cd /usr/local/src
[root@vpser src]#ls
[root@vpser src]#wget http://licess.googlecode.com/files/LNMP.zip      //下载LNMP文件
–11:29:51–  http://licess.googlecode.com/files/LNMP.zip
Resolving licess.googlecode.com… 209.85.173.82
Connecting to licess.googlecode.com|209.85.173.82|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 11261 (11K) [application/x-zip]
Saving to: `LNMP.zip’

100%[=======================================>] 11,261      –.-K/s   in 0.1s

11:29:52 (111 KB/s) - `LNMP.zip’ saved [11261/11261]

[root@vpser src]#unzip LNMP.zip        //解压LNMP压缩包
Archive:  LNMP.zip
   creating: LNMP/
   creating: LNMP/conf/
  inflating: LNMP/conf/fcgi.conf
  inflating: LNMP/conf/nginx-load.conf
  inflating: LNMP/conf/nginx-proxy.conf
  inflating: LNMP/conf/nginx.conf
  inflating: LNMP/conf/php-fpm.conf
  inflating: LNMP/down.sh
  inflating: LNMP/install.sh
  inflating: LNMP/opt.sh
  inflating: LNMP/readme.txt
  inflating: LNMP/startup.sh
[root@vpser src]#cd LNMP
[root@vpser LNMP]#ls
conf  down.sh  install.sh  opt.sh  readme.txt  startup.sh
[root@vpser LNMP]#chmod +x install.sh down.sh        //为install.sh和down.sh添加执行权限
[root@vpser LNMP]#./down.sh                                                   //下载安装所需的源代码文件
=========================================================================
LNMP v0.0.1 for VPS  Written by Licess
=========================================================================

For more information please visit http://blog.licess.cn/lnmp/

start download LNMP package
………………………….省略下载过程

download package finished!

=========================================================================
[root@vpser LNMP]#clear
[root@vpser LNMP]#ls
conf                          mysql-5.0.22.tar.gz
down.sh                       nginx-0.7.19.tar.gz
eaccelerator-0.9.5.3.tar.bz2  opt.sh
install.sh                    pcre-7.7.tar.gz
libiconv-1.12.tar.gz          php-5.2.6-fpm-0.5.9.diff.gz
libmcrypt-2.5.8.tar.gz        php-5.2.6.tar.gz
mcrypt-2.6.7.tar.gz           phpMyAdmin-3.1.1-all-languages.tar.gz
memcache-2.2.3.tgz            readme.txt
mhash-0.9.9.tar.gz            startup.sh
[root@vpser LNMP#]./install.sh        //开始安装
=========================================================================
LNMP v0.0.1 for VPS  Written by Licess
=========================================================================
A tool to auto-compile & install Nginx+MySQL+PHP on Linux
For more information please visit http://blog.licess.cn/lnmp/
The path of some dirs:
mysql dir:   /usr/local/mysql
php dir:     /usr/local/php
nginx dir:   /usr/local/nginx
web dir      /web/www

=========================================================================

3

在此步中输入你要绑定的域名,例如:diavps.vpser.net  ,回车确认。
Please input domain:
(Default domain: www.lnmp.org):diavps.vpser.net
===========================
domain=diavps.vpser.net
===========================

Press any key to start…                                     \\再次按任意键确认,开始安装
Loading “fastestmirror” plugin
………………………………..

开始安装……..

4

PS:屏幕疯狂的滚动…….欣赏一下

5

经过漫长的等待(时间不确定,根据实际情况,我的是半个多小时),终于安装完了。

6

下面看一下PHPInfo

7

PHPMyAdmin:

8

程序安装路径:
MySQL :   /usr/local/mysql
PHP :     /usr/local/php
Nginx :   /usr/local/nginx
PHPMyAdmin /web/www/phpmyadmin
Web目录    /web/www

MySQL  用户:root  密码:root

通过下面这几个链接查看phpinfo和管理MySQL
phpinfo    http://ip/phpinfo.php
phpMyAdmin http://ip/phpmyadmin

让Nginx开机后手动执行 /root/run.sh 后Nginx会运行 ,开机自动运行可以运行 LNMP目录下面的 startup.sh 文件即可。

opt.sh 为优化文件,如果内存小于128MB可以通过执行 ./opt.sh 添加swap分区,并修改时区为东8区。注:并不一定在所有的VPS上都可以添加swap分区,swvps不可以,其他没有测试。

安装完后,请立即修改您的MySQL的root密码,使用命令cd /usr/local/mysql/bin

再执行:./mysqladmin -u root -p password mypasswd          //mypasswd为自己的密码

输入这个命令后,需要输入root的原密码,然后root的密码将改为mypasswd。
把命令里的root改为你的用户名,你就可以改你自己的密码了。

进入phpmyadmin目录/web/www/phpmyadmin  将 config.default.php 修改为config.inc.php

修改这个文件的 $cfg['Servers'][$i]['auth_type'] = ‘http’;

                                $cfg['blowfish_secret'] = ‘VPSER’;    //VPSER为任意字符

保存,然后就可以登录了。

因为没有安装ftp服务器软件,可以使用winscp这个软件管理文件。

更详细的关于LNMP的可以看:http://blog.licess.cn/lnmp/

可能在安装过程中遇到什么问题可以在下面留言。

  • » 阅读全文...
  • 2009年02月2日

    Linux服务器安装后的优化

    我们的服务器并不是安装完成后就可直接托管到机房了,
    而是需要进行一系列的优化配置和安全配置等

       
     1,关闭不需要的服务
        这个应该很容易理解的,凡是我们的系统不需要的服务,一概关闭,
        这样一个好处是减少内存和CPU时间的占用,另一个好处相对可以提高安全性
      
        那么哪些服务是肯定要保留的呢?
        在linux机器上通常有四项服务是必须保留的
         iptables
                 linux下强大的防火墙,只要机器需要连到网上,哪里离得开它
         network
                 linux机器的网络,如果不上网可以关闭,只要上网当然要打开它
         sshd
                 这是openssh server,如果你的机器不是本地操作,而是托管到IDC机房,
                  那么访问机器时需要通过这个sshd服务进行
         syslog
                这是linux系统的日志系统,必须要有,
                否则机器出现问题时会找不到原因

        除了这四项必需的服务之外,其他的服务需要保留哪些呢?
        这时就可以根据系统的用途而定,比如:数据库服务器,就需要启用mysqld(或oracle)
                                        web服务器,就需要启用apache
      
      
     
      2,关闭不需要的tty
    请编辑你的/etc/inittab
    找到如下一段:
    1:2345:respawn:/sbin/mingetty tty1
    2:2345:respawn:/sbin/mingetty tty2
    3:2345:respawn:/sbin/mingetty tty3
    4:2345:respawn:/sbin/mingetty tty4
    5:2345:respawn:/sbin/mingetty tty5
    6:2345:respawn:/sbin/mingetty tty6

    这段命令使init为你打开了6个控制台,分别可以用alt+f1到alt+f6进行访问
    此6个控制台默认都驻留在内存中,事实上没有必要使用这么多的
    你用ps auxf这个命令可以看到,是六个进程
    root      3004  0.0  0.0  1892  412 tty1     Ss+  Jun29   0:00 /sbin/mingetty tty1
    root      3037  0.0  0.0  2492  412 tty2     Ss+  Jun29   0:00 /sbin/mingetty tty2
    root      3038  0.0  0.0  2308  412 tty3     Ss+  Jun29   0:00 /sbin/mingetty tty3
    root      3051  0.0  0.0  1812  412 tty4     Ss+  Jun29   0:00 /sbin/mingetty tty4
    root      3056  0.0  0.0  2116  412 tty5     Ss+  Jun29   0:00 /sbin/mingetty tty5
    root      3117  0.0  0.0  2396  412 tty6     Ss+  Jun29   0:00 /sbin/mingetty tty6

    如何关闭这些进程?
    通常我们保留前2个控制台就可以了,
    把后面4个用#注释掉就可以了

    然后无需重启机器,只需要执行 init q 这个命令即可
    init q
    q作为参数的含义:重新执行/etc/inittab中的命令

    3,如何关闭ipv6?

       ipv6目前我们还不需要,但系统安装完成后它会作为模块常驻核心,没有必要,
       可以用这个步骤来关闭它:
       首先编辑网络配置文件:
       vi /etc/sysconfig/network
       修改
       NETWORKING_IPV6=yes

       为
        NETWORKING_IPV6=no

       然后关闭其模块:vi /etc/modprobe.conf
       在文件中添加以下两行
        alias net-pf-10 off
        alias ipv6 off

       修改完成后需重启机器使之生效

    4,如何关闭atime?

        一个linux文件默认有3个时间:
             atime:对此文件的访问时间
             ctime:此文件inode发生变化的时间
             mtime:此文件的修改时间

      如果有多个小文件时通常没有必要记录文件的访问时间,
      这样可以减少磁盘的io,比如web服务器的页面上有多个小图片
     
      如何进行设置呢?
      修改文件系统的配置文件:vi /etc/fstab
      在包含大量小文件的分区中使用noatime,nodiratime两项
      例如:
      /dev/md5                /data/pics1           ext3    noatime,nodiratime 0 0
      
      这样文件被访问时就不会再产生写磁盘的io

    5,一定要让你的服务器运行在level 3上
      做法:
          vi /etc/inittab
           
          id:3:initdefault:
      让服务器运行X是没有必要的

        6,优化sshd
         
              X11Forwarding no        //不进行x图形的转发
              UseDNS no               //不对IP地址做反向的解析
                 
        7,优化shell
             修改命令history记录
              # vi /etc/profile
             找到 HISTSIZE=1000 改为 HISTSIZE=100
             然后 source /etc/profile

  • » 阅读全文...