LNMP环境搭建

5 篇文章 0 订阅

LNMP其实就是Linux+Nginx+Mysql+Php。Linux安装我在上一篇已经详细介绍了。现在主要说nginx+mysql+php的安装

一、nginx安装
nginx安装前,需要安装几个依赖库
openssl库、zlib库和pcre库

①、openssl库安装

cd ~/download && wget http://www.openssl.org/source/openssl-fips-2.0.9.tar.gz
tar zxvf openssl-fips-2.0.9.tar.gz
cd openssl-fips-2.0.9
./config && make && make install

②、zlib库安装

cd ../ && wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure && make && make install

③、pcre库安装
打开文件夹,在上面的输入框那里输入 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/,然后复制pcre-8.36.tar.bz2到本地,然后在Linux虚拟机那里输入 : rz(注意:这里要用secureCTR),然后将文件传到Linux虚拟机的 ~/download目录下
这里写图片描述
这里写图片描述

cd ~/download
tar -jxvf pcre-8.36.tar.bz2
cd pcre-8.36
./configure && make && make install

④、nginx安装

cd ../ && wget http://nginx.org/download/nginx-1.6.3.tar.gz
tar zxvf nginx-1.6.3.tar.gz
cd nginx-1.6.3
./configure --with-pcre=../pcre-8.36 --with-zlib=../zlib-1.2.8 --with-openssl=../openssl-fips-2.0.9
make && make install

至此,nginx安装完毕。 验证是否安装成功:
/usr/local/nginx/sbin/nginx -t 如果出现如下结果,则说明已经成功:
这里写图片描述

二、MySQL安装
①、安装cmake

cd ~/download
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
tar zxvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap && make && make install 

②、建立mysql用户和mysql组

groupadd mysql
useradd -g mysql mysql

③、增加需要的目录

mkdir /usr/local/mysql
mkdir -p /data/mysql

④、安装ncurses-devel

mount /dev/cdrom1(你的可能是cdrom) /mnt/cdrom
cd /mnt/cdrom/Package
rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm

⑤、安装mysql

cd ~/download
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz
tar -zxvf mysql-5.6.14.tar.gz
cd mysql-5.6.14

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/data/mysql -DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1

make && make install
(修改一下目录权限)
chown -R mysql:mysql /usr/local/mysql
chmod -R 777 /data
chown -R mysql:mysql /data/mysql
(初始化mysql数据库)
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
(复制mysql启动配置脚本,覆盖原来的)
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
(复制mysql服务启动脚本)
cp support-files/mysql.server /etc/init.d/mysqld
(把mysql放到/root/bin目录下)
ln -s /usr/local/mysql/bin/mysql /root/bin/mysql
(启动mysql)
service mysqld start
(设置mysql开机启动)
chkconfig --level 35 mysqld on

(如果要修改mysql的data目录:修改/etc/my.cnf的datadir参数即可)

至此,mysql安装成功。可以在命令行执行:mysql 测试是否成功。

三、php安装
安装php前,需先安装几个依赖库
libiconv(用于编码转换)
libmcrypt(用于加密解密算法)
mhash(用于加密)
mcrypt(用于加密)
把这几个下载了,然后用rz传到Linux的~/download目录下

①、libiconv安装

cd ~/download/
tar zxvf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure && make && make install

②、libmcrypt安装

cd ~/download
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure && make && make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make && make install

③、mhash安装

cd ~/download
tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure && make && make install
ln -s /usr/local/lib/libmcrypt.la /usr/lib64/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib64/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib64/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib64/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib64/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib64/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

④、mcrypt安装

cd ~/download
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
./configure && make && make install

⑤、libxml2库安装

mount /dev/cdrom1 /mnt/cdrom/(你的可能是/dev/cdrom)
cd /mnt/cdrom/Packages/
rpm -ivh libxml2-2.7.6-8.el6_3.4.x86_64.rpm
rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm
rpm -ivh libxml2-devel-2.7.6-8.el6_3.4.x86_64.rpm

⑤、php安装

cd ~/download
wget http://museum.php.net/php5/php-5.3.10.tar.gz
tar -zxvf php-5.3.10.tar.gz
cd php-5.3.10
./configure --prefix=/usr/local/php --with-iconv-dir --enable-mbstring --with-zlib --with-libxml-dir --with-zlib --with-mysql=/usr/local/mysql --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mhash --with-mcrypt
make ZEND_EXTRA_LIBS='-liconv'
make install
cp php.ini-recommended /usr/local/php/lib/php.ini

把php命令放到~/bin中,这样就可以直接在命令行执行php命令了。

cd ~/bin && ln -s /usr/local/php/bin/php php

在命令行执行:php -version 如果出现如下信息,这说明正确
这里写图片描述

⑥、配置php和nginx
创建www用户组和用户

groupadd www
useradd -g www www

配置php-fpm.conf

cd /usr/local/php
cp etc/php-fpm.conf.default etc/php-fpm.conf

配置nginx

cd /usr/local/nginx/conf
rm nginx.conf
vi nginx.conf

输入如下内容:

user  www www;
worker_processes 5;
error_log  logs/nginx_error.log  error;
#pid        logs/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
events
{
     use epoll;
     worker_connections 51200;
}
http
{
     include       mime.types;
     default_type  application/octet-stream;
     server_names_hash_bucket_size 128;
     server_tokens off;
     expires       1h;
     sendfile on;
     tcp_nopush     on;
     keepalive_timeout 60;
     tcp_nodelay on;
     error_page   404  /;
     fastcgi_connect_timeout 300;
     fastcgi_send_timeout 300;
     fastcgi_read_timeout 300;
     fastcgi_buffer_size 64k;
     fastcgi_buffers 4 64k;
     fastcgi_busy_buffers_size 128k;
     fastcgi_temp_file_write_size 128k;
     fastcgi_temp_path /dev/shm;
     gzip on;
     gzip_min_length  2048;
     gzip_buffers     4 16k;
     gzip_http_version 1.1;
     gzip_types  text/plain  text/css text/xml application/xml application/x-javascript ;
     log_format  access  '$request_time $remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" $http_x_forwarded_for';
     include vhost/*.conf ;
}

然后:

mkdir vhost && cd vhost
vi t.4399data.com.conf

输入如下内容:

server
{
    listen       80 ;
    server_name  t.4399data.com;
    index index.html index.htm index.php ;
    root   /data/nginx/html/4399data;
    location / {
        index index.php index.html index.htm;
    }
    location ~ .*\.php$ {
        include fcgi.conf;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        expires off;
    }
    location ~ (favicon.ico){
        log_not_found off;
        expires 30d;
        access_log off;
    }

    location ~* ^.+/.(jpg|jpeg|gif|png|swf|rar|zip|css|js)$ {
        access_log   off;
        log_not_found off;
        expires 30d;
    }
    access_log  logs/t.4399data.com.log ;
} 

然后建立/data/nginx/html/4399data目录

mkdir -p /data/nginx/html/4399data
chown -R www:www /data/nginx

开放80端口

vi /etc/sysconfig/iptables (加入一行)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
service iptables restart

至此,nginx+mysql+php就安装完毕了。

现在可以自己测试一下:

开启nginx
/usr/local/nginx/sbin/nginx
开启php-fpm
/usr/local/php/sbin/php-fpm

在本地window里面配置host

192.168.30.10 t.4399data.com(我这里的虚拟机ip是192.168.30.10

然后在/data/nginx/html/4399data目录下建一个文件index.php

<?php
     echo "welcome to php world!";
?>

然后在浏览器那里输入t.4399data.com,可以看到:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值