vm virtualbox 虚拟安装centos,安装nginx,mysql,PHP,及网络配置

       在自己得电脑虚拟机上安装centos之后一般是不会连接到外网的此时使用yum无法安装gcc,gcc++等编译软件,那么就没法编译安装 apache.mysql,此时需要更改 网路配置文件.

在虚拟机里设置 网路1为 网路地址转换NAT而非NAT模式, 网路2为桥接模式。

vi /etc/sysconfig/network-scripts/ifcfg-eth0

在里面做如下配置

    DEVICE=eth1            //网卡名
    ONBOOT=yes            //启动
    BOOTPROTO=dhcp    //使用dhcp
    PEERDNS=yes           //更改DNS文件

    HWADDR=08:00:27:90:9B:08  //Mac地址 写成自己的centos的mac地址

    然后保存退出

 

给centos添加一个网卡使用桥接模式

vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTRPOTO=none //不适用dhcp

IPADDR=你的局域网IP

NETMASK=255.255.255.0

GATEWAY=局域网网关

HWADDR=mac地址

保存退出

重启网路以便加载更改。

service network restart //重启网路服务

此时可以使用 ping命令来测试下

ping -c 4 网关IP

如果返回正确,可以连接外网了。如果错误可以把网路1,网路2的设置调换下。

 

安装mysql

  一般会出现,library字符的提示;为了防止错误

 yum -y install gcc gcc-c++ ncursese ncurses-devel wget

获取mysql

  cd /usr/local/src

  wget http://mysql.mirror.kangaroot.net/Downloads/MySQL-5.1/5.1.73.tar.gz  //获取mysql

 tar -zxvf mysql-5.1.73//解压mysql

cd mysql-5.1.73

  

配置编译文件
./configure --prefix=/usr/local/mysql --enable-thread-safe-client --enable-assembler --with-big-tables --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=complex

  

make  //编译
make install //安装

mysql配置:

    增加mysql用户

  groupadd mysql

 useradd -g mysql -s /sbin/nologin mysql

更改数据目录权限
chown -R mysql.mysql /usr/local/mysql/var
chmod -R 700 /usr/local/mysql/var

初始化授权表
./lib/mysql_install_db --user=mysql

复制配置文件到etc以便开机启动mysql时检测到MYSQL的配置
  cp ./share/mysql/my-medium.conf /etc/my.cnf

设置开机启动:
cp ./share/mysql/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rd.d/init.d/mysqld
chkconfig --add mysqld
加入MYSQL环境变量:
VI /etc/profile
添加
PATH=$PATH:/usr/local/mysql/bin  //增加linux环境变量
export PATH
执行 . /etc/profile
启动mysql
service mysql start

  php安装

      编译一般会出现的错误

          

              php出现安装错误 xml时:
      yum -y install libxml2 libxml2-devel
      yum -y install libpng-devel libjpeg-devel
      安装 libmcrypt
        wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
      出现 flock错误的时候:(找不到函数库的错误)
        vim /etc/ld.so.conf.d/local.conf # 编辑库文件
        /usr/local/lib # 添加该行
        :wq # 保存退出
        ldconfig -v # 使之生效

使用nginx做web服务器的时候,nginx是以CGI的方式来支持php的所以,安装php的时候要开启php的php-FPM功能。
下载PHP
wget http://cn2.php.net/distributions/php-5.4.7.tar.gz
./configure --prefix=/usr/local/php \
--enable-fpm \
--with-mcrypt \
--enable-mbstring \
--disable-pdo \
--with-curl \
--disable-debug \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql=/usr/local/mysql \ ## 需要先安装mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config \ ##需啊哟先安装MYSQL
--with-gd \
--with-jpeg-dir

 make

make install

 cp ./etc/php-fpm.conf.default ./etc/php-fpm.conf

 vi ./etc/php-fpm.conf

 user=www-data

group=www-data

:wq

./bin/php-fpm start;

安装 nginx

    

因为nginx 不原生的支持,gzip压缩,prec支持URL重写
wget ftp://ftp.csx.cam.ac.uk/pub.software/programming/pcre/pcre-8.34.tar.gz
安装zlib库:
wget http://zlib.net/zlib-1.2.8.tar.gz
下载nginx
wget http://nginx.org/download/nginx-1.4.2.tar.gz


解压缩后:
编译:
./configure --sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf \
--pid-path=/usr/local/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/usr/local/src/pcre-8.34 \
--with-zlib=/usr/local/src/zlib-1.2.8 \

make
make install

配置nginx支持PHP

   

  

  在nginx.conf 的 server 字段中加
    user=nobody
    location ~ \.php$ {
      root html;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;
      include fastcgi_params;
    }

启动 nginx
sudo /usr/local/nginx/nginx

然后查看apache是否加入php模块

未加入的话

vi /etc/httpd/conf.d/php.conf

<IfModule prefork.c>

LoadModule php5_module modules/libphp5.so

</IfModule>

<IfModule worker.c>

LoadModule php5_module modules/libphp5-zts.so

</IfModule>

AddHandler php5-sceipt .php

AddType text.html .php

DirectoryIndex. index.php

然后保存退出

service httpd restart

安装 mysql 

yum install mysql mysql-server mysql-devel

安装成功之后

 

然后编辑防火墙设置 允许 80 及3306端口

vi /etc/sysconfig/iptables 

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙) 
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙) 
特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面

/etc/init.d/iptables restart 

如果上班不行的话开可以使用这种方式

[root@centos httpd]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

[root@centos httpd]# /etc/rc.d/init.d/iptables save

[root@centos httpd]# /etc/init.d/iptables restart

 

 

 给centos加第三个网卡,选择only 模式,以便虚拟机之间可以访问

我们需要做的是进入/etc/sysconfig/network-scripts目录,修改两块网卡的ifcfg文件即可
a. 修改ifcfg-eth0文件,配置Host-only网络:
    # 第一块网卡
    DEVICE=eth2
    # 开机启动
    ONBOOT=yes
    # 启动协议,none/dhcp
    BOOTPROTO=none
    # 配置DNS
    DNS=192.168.56.1
    # 设置了DNS指令后是否自动修改/etc/resolv.conf文件,启动协议为dhcp时此项默认yes
    PEERDNS=yes
    # IP地址
    IPADDR=192.168.56.110
    # 掩码
    NETMASK=255.255.255.0
    # 网关
    GATEWAY=192.168.56.1
    # 网卡设备的物理地址,默认,与VirtualBox网络设置界面一致
    HWADDR=08:00:27:75:AD:13
    # 非root用户不能控制此设备
    USERCTL=no

 

 

 

 

mysql设置root密码

use mysql

UPDATE user set password=password(‘password‘) WHERE user = ‘root‘;

flush privileges;

设置mysql远程连接

UPDATE user set host=‘%‘ WHERE user=‘root‘;

GRANT ALL PRIVILEGES ON *.* TO root@‘%‘ INDENTIFIED BY ‘password‘ WITH GRANT OPTION;

flush privileges;

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。