tate violet:OpenBSD.Nginx.MySQL.PHP环境搭建手册

来源:百度文库 编辑:偶看新闻 时间:2024/06/12 16:18:22

ChinaUnix网友:young_king      

  所谓的O.N.M.P.是指OpenBSDNginxMySQLPHP(fastcgi),是利用OpenBSD及其软件包搭建的时下流行的MySQL+PHP应用环境,下面对主要的软件做下介绍:
OpenBSD可能是这个星球最安全的操作系统了,在十几年的时间里面只被发现了两个远程安全漏洞
Nginx来自俄罗斯的HTTP软件,据说性能达到老牌的Apache十倍!并且极其节约资源,是单台服务器跑PHP应用的首选。官方文档声称能达到5W个并发连接,生产环境下单台双核2.33G服务器可以跑到3W个并发连接(仅运行Nginx+PHP-fastcgi
MySQL老牌的开源数据库软件
PHP这个几乎无人不知,和MySQL一起构成了开源环境下最强的建站组合。

下面以OpenBSD4.4为例进行讲解。按照惯例,root环境:
一、软件环境的搭建
OpenBSD的安装就不罗嗦了,重点是分区的部分,推荐/var/mysql/var/log/var/mail/var/nginx这几个目录单独分区,并给予足够的空间。系统安装的最后询问是否默认启动Ssh服务时回答”n”
安装必须的软件包:
        export        PKG_PATH=ftp://ftp.openbsd.org/pub/OpenBSD/4.4/packages/i386/
pkg_add        wget mysql-server php5-fastcgi php5-gd-5.2.6-no_x11 php5-mysql        phpMyAdmin lighttpd-1.4.19p3 nginx pecl-APC


装完后按提示做连接并创建PHP工作目录:
        ln -s        /var/www/conf/modules.sample/php5.conf /var/www/conf/modules
ln        -fs /var/www/conf/php5.sample/apc.ini /var/www/conf/php5/apc.ini
ln        -fs /var/www/conf/php5.sample/gd.ini /var/www/conf/php5/gd.ini
ln        -fs /var/www/conf/php5.sample/mbstring.ini        /var/www/conf/php5/mbstring.ini
ln -fs        /var/www/conf/php5.sample/mcrypt.ini        /var/www/conf/php5/mcrypt.ini
ln -fs        /var/www/conf/php5.sample/mysql.ini        /var/www/conf/php5/mysql.ini
mkdir /var/www/tmp
chmod 0777        /var/www/tmp
mkdir /var/nginx/html/pma/
cp -rf        /var/www/phpMyAdmin/* /var/nginx/html/pma/


        vi        /etc/login.conf

跳到最后,加入MySQL所需的修改:
mysql:\
       penfiles-cur=2048:\
       penfiles-max=4096:\
       :tc=daemon:
使修改生效:
        cap_mkdb        /etc/login.conf

安装数据库:
        /usr/local/bin/mysql_install_db

二、修改各软件的配置文件

修改nginx的默认配置文件:
        vi        /etc/nginx/nginx.conf

增大nginx的并发连接数:
worker_connections  51200;
加入对.php文件的支持:
        location/ {
            root  /var/nginx/html;
           index  index.phpindex.html index.htm;
       }
(加入index.php
将下面这段前面的注释都去掉,改成:
        location~ \.php$ {
            root          html;
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index  index.php;
          fastcgi_param  SCRIPT_FILENAME  /var/nginx/html$fastcgi_script_name;
           include       fastcgi_params;
       }
注意上面第五行,这个部分原来是/scripts,改成/var/nginx/html
其他的部分请酌情修改。
修改MySQL的配置文件(或从/usr/local/share/mysql目录中拷贝合适的文件为/etc/my.cnf)。
关于MySQL的配置和优化,网上有很多这方面的文章,可以自行Google,这里就不多讨论了。
贴下偶的(总内存512MMySQL使用256M,在my-large.cnf的基础上修改):
[mysqld]段增加或修改:
skip-innodb
skip-networking
max_connections= 600
skip-bdb
skip-name-resolve
wait_timeout=5
保存退出。
修改phpMyAdmin的配置文件,使之可用:
        vi        /var/nginx/html/pma/config.inc.php

将下面这行修改成:
$cfg['blowfish_secret']= 'a'; /* YOU MUST FILL IN THIS FORCOOKIE AUTH! */
(仅是加入了字母a而已)
保存退出。
三、系统启动脚本的修改
修改系统启动脚本,使得MySQLPHP(fastcgi)Nginx可以在系统启动的时候自动启动,免去手动启动的麻烦。
        vi        /etc/rc.local

跳到最后,加入下面的部分:
rdate-n 210.72.145.44
# Start MySQL
if [ -x/usr/local/bin/mysqld_safe ] ; then
   echo -n 'StartingMySQL...'
  su -c mysql root -c'/usr/local/bin/mysqld_safe >/dev/null 2>&1 &'
  echo "DONE"
fi
# Start php-fastcgi
if [ -x/usr/local/bin/spawn-fcgi ] ; then
   echo -n 'Startingphp-fastcgi...'
   /usr/local/bin/spawn-fcgi -a127.0.0.1 -p 9000 -C 6 -u www -f /usr/local/bin/php-fastcgi >/var/run/fcgi.pid
   echo "DONE"
fi
#Start nginx
if [ -x /usr/local/sbin/nginx ] ; then
   echo-n 'Starting nginx...'
   /usr/local/sbin/nginx
  echo "DONE"
fi
保存退出。
四、修改默认的SSH端口

        vi        /etc/ssh/sshd_config

#PorT22的下面新建一行,输入:
PorT49813
使得Sshd监听49813端口,以避免黑客扫描22端口。
        vi        /etc/rc.conf.local

增加一行,输入:
sshd_flags=""
使得系统启动时启动Sshd服务。
保存退出。
        reboot

等系统重启完毕,用top命令看下,O.N.M.P.环境已经搭建好了!


写在最后:
  终于明白了OpenBSD官方力推packages的原因!看看吧,步骤多么简单,无须下载软件源码,无须长时间的make&& make install,很短的时间就可以搭建起时兴的O.N.M.P.环境,而且安全性有很高的保障!
  对MySQL的管理可以通过phpMyAdmin来完成,地址:http://xxx.xxx.xxx.xxx/pma/index.phpxxx.xxx.xxx.xxx为你服务器的IP地址)。默认情况下MySQLroot用户是没有密码的,请第一时间设置!