您的位置:首页 > 其它

源码搭建 LNMP环境

2012-09-02 20:03 507 查看
Linux + Nginx + Mysql + Php
1.新建挂载点,挂载光盘

# mkdir /mnt/cdrom

# mount /dev/cdrom /mnt/cdrom





2.编辑本地yum 源

# vim /etc/yum.repos.d/rhel-debuginfo.repo





3.安装pcre 和pcre-devel ,pcre提供地址重写功能。pcre系统已经默认安装,还需要安装pcre-devel 文件,pcre-devel提供开发所需的头文件和库文件

# yum list all|grep pcre





# yum install pcre-devel

4.安装后,调用库文件

# ldconfig -v





5.查看系统中的libevent 版本信息,版本号为1.1。libevent为事件触发库,可提高web服务器性能

# ldconfig -pv |grep libevent





6.为了使用新版本的libevent ,下面源码安装libevent 2.0

拆解libevent-2.0.16-stable.tar.gz 包到/usr/local/src/ 下

# tar -zxvf libevent-2.0.16-stable.tar.gz -C /usr/local/src/





7.切换到/usr/local/src/libevent-2.0.16-stable





8.查看安装路径,默认安装路径在/usr/local下

# ./configure --help





9.检测预编译环境

# ./configure





10.编译libevent ,生成4类文件:头文件、库文件、可执行文件、说明文件

# make





11.安装libevent,将4类文件存放到相应的位置

# make install





12.安装路径中定义,安装为为/usr/local,切换到/usr/local,下面有lib文件。但是这个lib文件位置为/usr/local/lib ,不是标准路径:/lib 或/usr/lib 。所以要在/etc/ld.so.conf.d 下新建 libevent.conf 文件(在/etc/ld.so.conf有说明),指明libevent库文件的位置。由于include位置为/usr/local/include,是标准路径,所以不用指明位置。

# vim /etc/ld.so.conf.d/libevent.conf





13.调用库文件,然后显示库文件调用情况

# ldconfig -v调用库文件

# ldconfig -pv |grep libevent









14.拆解nginx

# tar -zxvf nginx-1.0.11.tar.gz -C /usr/local/src/





15切换到/usr/local/src/ nginx-1.0.11 下





16.创建系统组 nginx

# groupadd -r nginx





17.创建系统帐号uginx ,使该帐号属于nginx组

# useradd -r -g nginx -s /bin/false -M nginx

或者-s 后跟 /sbin/nologin ;-M 不创建家目录





18.编译

./configure \

--prefix=/usr \

--sbin-path=/usr/sbin/nginx \

--conf-path=/etc/nginx/nginx.conf \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--user=nginx \

--group=nginx \

--with-http_ssl_module \

--with-http_flv_module \

--with-http_stub_status_module \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/tmp/nginx/client/ \

--http-proxy-temp-path=/var/tmp/nginx/proxy/ \

--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \

--with-pcre





19 编译

# make





20。安装

# make install





21.启动Nginx,提示缺少目录

# nginx





22. 手动创建/var/tmp/nginx





23.再次启动Nginx





24.安装文本浏览器lynx





# yum install lynx -y





25.访问Nginx服务器

# lynx 127.0.0.1









26.物理目录,在/usr/html 下新建目录abc,在abc 内产生网页文件index.html。由于

location / {

root html;

index index.html index.htm;

}

“location / ”表示可以读取html 目录及其子目录中的index.html ,index.htm 文件





27.





28.虚拟目录

在根下创建目录qq,产生网页文件index.html





编辑配置文件





重启Nginx 服务

# pkill -1 nginx





访问





基于ip 地址的虚拟主机

192.168.101.250 tec.abc.com

192.168.101.251 mkt.abc.com

















访问测试,两个站点都没有访问成功









查看错误日志,地址已被占用。

# tail -F /var/log/nginx/error.log





关闭Nginx的进程,再启动进程

# pkill nginx

# nginx









基于主机头的虚拟主机













重启服务

# pkill -1 nginx













libevent-2.0.16-stable.tar.gz事件触发库,提高性能

源码安装mysql数据库

1.由于mysql 为绿色软件,不是源代码,故拆解位置在/usr/local/mysql下,若是源代码则应拆解在/usr/local/src下。

# mkdir /usr/local/mysql

# tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/





2.

切换到/usr/local/ 下,进入目录mysql-5.5.15-linux2.6-i686,查看INSTALL-BINARY文件内容

# cd /usr/local/

vim INSTALL-BINARY

按照里面的步骤来详细配置mysql

groupadd mysql 创建组mysql

useradd -r -g mysql mysql 创建系统帐号mysql,加入mysql组

cd /usr/local 进入/usr/local

ln -s mysql-5.5.15-linux2.6-i686 mysql 为该目录设置软连接,方便使用

cd mysql

chown -R mysql . 更改所有文件的所有者为mysql

chgrp -R mysql . 更改所有文件的所属组为mysql

scripts/mysql_install_db --user=mysql 以mysql的身份执行scripts/mysql_install_db脚本

chown -R root . 再将所有文件的所有者改为root

chown -R mysql data 其中要将data目录及其子文件的所有者改为mysql

cp support-files/my-medium.cnf /etc/my.cnf

bin/mysqld_safe --user=mysql & 启动mysql 数据库,3306 端口

如果想使用service mysqld restart ,来启动数据库,则需要在/etc/init.d下要有名为mysqld 的脚本,执行下面指令,创建/etc/init.d/mysqld脚本

cp support-files/mysql.server /etc/init.d/mysqld









3.设置mysqld开机自启动

# chkconfig --list |grep mysql





4.查看/etc/init.d/mysqld文件,chkconfig: 2345 64 36 : 2345 表示可设置在2345 级别下开机启动或关闭;64 表示s64mysqld ,开机启动顺序,可在/etc/rc.d/rc3.d下查看;36 表示K36mysqld ,关机时关闭服务顺序





5.









6系统启动时,自动调用库文件,位置有/lib /usr/lib ,但是现在mysql的数据库文件位置在/usr/local/mysql/lib,编辑/etc/ld.so.conf文件,该文件指明包含ld.so.conf.d/下的所有.conf文件。在/etc/ld.so.conf.d/ 下新建mysql.conf文件,指明mysqld 的lib 文件的位置





# vim /etc/ld.so.conf.d/mysql.conf





7.查看是否连接到mysql 的lib 库文件

# ldconfig -v|grep mysql





8.系统的头文件位置有:/usr/include/ /usr/local/include/ ,但是mysql的头文件位置在/usr/local/mysql/include,为非标准路径,系统无法调用,应该指明位置,使系统能够找到该位置。可在 /usr/include/ 或者 /usr/local/include/下 做符号连接

cd /usr/include/

# ln -s /usr/local/mysql/include/ mysql

# ll mysql/





mysql安装完毕

php安装

1.检测预编译环境

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --enable-fpm --with-libevent-dir=/usr/local --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-iconv-dir=/usr/local

2.编译 ,产生四类文件:头文件、库文件、可执行文件、说明文件

# make





3.安装

# make install

4拷贝配置文件.

# cp php.ini-dist /usr/local/php/etc/php.ini





5





6.编辑/usr/local/php/etc/php-fpm.conf





7.将以下几行的前面分号去掉

error_log=

pm.start_server=

pm.max_requests =

pm.max_spare_servers=

pm.min_spare_servers=

pm.max_children=

8.启动fastcgi:

#/usr/local/php/sbin/php-fpm &





9.将fastcgi 设置为开机自启动

#echo “/usr/local/php/sbin/php-fpm &” >> /etc/rc.local





10.修改 /etc/nginx/fastcgi.conf









11. 切换到/etc/nginx, 保证两个文件相同:fastcgi.conf 和 fastcgi_params

cat fastcgi.conf > fastcgi_params





12.

修改/etc/nginx/nginx.conf ,由于配置的有基于ip 地址的虚拟主机,所以现在在其上进行修改

tec.abc.com 主机:









mkt.abc.com主机









13.重启nginx服务:

# pkill -1 nginx





14.编辑/tec/index.php 或/mkt/index.php文件





15.测试访问 tec.abc.com





16.测试mysql 与 PHP 的连通性,编辑/tec/index.php 或/mkt/index.php文件





17 测试



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息