我们一起来学linux:linux搭建LANMP(编译版)

http://bbs.phpchina.com/thread-233562-1-1.html

/** Author: GP* Emeil:vsgeping@gmail.com* Website:http://www.gplinux.com*/源码下载:

http://download.csdn.net/detail/newjueqi/4176004

http://download.csdn.net/detail/newjueqi/4176023

/*注:nginx和apache的配置只是简单配置,如果要做到nginx处理前端apache处理后台脚本,还需更深入配置*/刚安装好linux,现在开始编译安装LANMP在这里写下编译安装配置过程,提供大家做个参考////////////////////////////当前用户:root当前目录:/home/gp/Downloads////////////////////////////1、下载必要安装包Nginx:http://nginx.org/download/nginx-1.0.14.tar.gzPcre(安装nginx所需,rewrite模块需要pcre库):http://nchc.dl.sourceforge.net/p … 30/pcre-8.30.tar.gzZlib(安装nginx所需):http://iweb.dl.sourceforge.net/p … 5/zlib-1.2.5.tar.gzPHP:http://cn2.php.net/distributions/php-5.3.10.tar.gzLibxml2(安装Libxml2所需):ftp://xmlsoft.org/libxml2/libxml2-2.7.8.tar.gzMysql:http://mysql.ntu.edu.tw/Downloads/MySQL-5.5/mysql-5.5.21.tar.gzCmake(安装Mysql所需):http://www.cmake.org/files/v2.8/cmake-2.8.7.tar.gzApache:http://mirror.bjtu.edu.cn/apache/httpd/httpd-2.4.1.tar.gzAPR(安装Apache所需):http://labs.mop.com/apache-mirror//apr/apr-1.4.6.tar.gzAPR-util(安装Apache所需):http://labs.mop.com/apache-mirror//apr/apr-util-1.4.1.tar.gzAPR iconv(安装Apache所需):http://labs.mop.com/apache-mirror//apr/apr-iconv-1.2.1.tar.gz2、编译、安装、配置Nginx2.1、编译/安装nginxtks-gp Downloads # tar zxf pcre-8.30.tar.gz /*解压pcre*/tks-gp Downloads # cd cd pcre-8.30//*编译安装pcre*/tks-gp pcre-8.30 # ./configuretks-gp pcre-8.30 # maketks-gp pcre-8.30 # make installtks-gp pcre-8.30 # pcre-config –version /*查看pcre版本,也用来测试是否安装成功*/tks-gp pcre-8.30 # cd ..tks-gp Downloads # tar zxf zlib-1.2.5.tar.gz /*解压zlib*/tks-gp Downloads # cd zlib-1.2.5//*编译安装zlib-1.2.5*/tks-gp zlib-1.2.5 # ./configuretks-gp zlib-1.2.5 # maketks-gp zlib-1.2.5 # make installtks-gp zlib-1.2.5 # cd ..tks-gp Downloads # apt-get install libssl-dev /*安装libssl_dev,为–with-http_ssl_module做准备*/tks-gp Downloads # tar zxf nginx-1.0.14.tar.gz /*解压nginx*/tks-gp Downloads # nginx-1.0.14//*编译安装nginx*/tks-gp nginx-1.0.14 # ./configure –user=www-data –group=www-data–with-http_ssl_module –with-pcre=../pcre-8.30 –with-zlib=../zlib-1.2.5/** 默认安装路径:/usr/local/nginx* –user=www-data #指定用户* –group=www-data #指定用户组* –with-http_ssl_module #开启HTTP SSL模块,使NGINX可以支持HTTPS请求* –with-pcre=../pcre-8.30 #指定 PCRE 库的源代码的路径* –with-zlib=../zlib-1.2.5 #指定 zlib 库的源代码的路径*/tks-gp nginx-1.0.14 # make /*编译*/tks-gp nginx-1.0.14 # make install /*安装*/tks-gp nginx-1.0.14 # /usr/local/nginx/sbin/nginx /*启动nginx服务*/tks-gp nginx-1.0.14 # /usr/local/nginx/sbin/nginx -s stop /*停止nginx服务*///////////////////////////////////////////////////////////////////Nginx -s stop 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。Nginx -s quit 平稳关闭Nginx,保存相关信息,有安排的结束web服务。Nginx -s reload 因改变了Nginx相关配置,需要重新加载配置而重载。Nginx -s reopen 重新打开日志文件。(reopenging log files)//////////////////////////////////////////////////////////////////tks-gp nginx-1.0.14 # cd ..tks-gp Downloads # cp /usr/local/nginx/sbin/nginx /etc/init.d/tks-gp Downloads # chmod 755 /etc/init.d/nginxtks-gp Downloads # chkconfig –add nginx /*设置nginx开机启动*//*运行后提示:nginx 0:off1:off2:on 3:on 4:on 5:on 6:off*/2.2、配置nginx tks-gp Downloads # cd /usr/local/nginx/conf/tks-gp conf # vim nginx.conf//////////////////////////////////////////////////////////////添加一行include vhost/*.conf;:wq //保存退出//////////////////////////////////////////////////////////////tks-gp conf # mkdir vhost /*新建一个目录,用来存放虚拟主机的配置文件*/tks-gp conf # ls -altks-gp conf # chmod -R 755 ./*3、编译、安装、配置Mysql tks-gp conf # cd /home/gp/Downloads/tks-gp Downloads # tar zxf cmake-2.8.7.tar.gz /*解压*/tks-gp Downloads # cd cmake-2.8.7//*编译安装cmake*/tks-gp cmake-2.8.7 # ./bootstraptks-gp cmake-2.8.7 # maketks-gp cmake-2.8.7 # make installtks-gp cmake-2.8.7 # cmake –version /*查看版本号,同时查看是否安装成功*/tks-gp cmake-2.8.7 # cd ..tks-gp Downloads # tar zxf mysql-5.5.21.tar.gztks-gp Downloads # cd mysql-5.5.21////////////////////////////////////////////////////////////////////必须要安装libncurses5-dev若差了这个包,在cmake的时候会报错安装方法:tks-gp mysql-5.5.21 # apt-get install libncurses5-dev还要安装bison包tks-gp mysql-5.5.21 # apt-get install bison如果发生错误,要重新编译,需要执行:tks-gp mysql-5.5.21 # rm CMakeCache.txt///////////////////////////////////////////////////////////////////tks-gp mysql-5.5.21 # cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8-DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1-DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/local/mysql/data/** -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ /*Mysql的安装目录*/* -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ /*Unix socket 文件路径*/* -DDEFAULT_CHARSET=utf8 \ /*使用 utf8 字符*/* -DDEFAULT_COLLATION=utf8_general_ci \ /*校验字符*/* -DWITH_MYISAM_STORAGE_ENGINE=1 \ /*安装 myisam 存储引擎*/* -DWITH_INNOBASE_STORAGE_ENGINE=1 \ /*安装 innodb 存储引擎*/* -DWITH_READLINE=1 \ /*快捷键功能*/* -DENABLED_LOCAL_INFILE=1 \ /*允许从本地导入数据*/* -DMYSQL_DATADIR=/usr/local/mysql/data /*数据库存放目录*/*/tks-gp mysql-5.5.21 # make /*编译*/tks-gp mysql-5.5.21 # make install /*安装*/tks-gp mysql-5.5.21 # groupadd mysql /*建一个mysql用户组*/tks-gp mysql-5.5.21 # useradd -r -g mysql mysql /*建一个mysql用户,属于mysql用户组,并且该用户不在登录界面显示(-r参数的作用)*/tks-gp mysql-5.5.21 # chmod +w /usr/local/mysql /*给mysql的安装目录赋予写权限*/tks-gp mysql-5.5.21 # chown -R mysql:mysql /usr/local/mysql /*给mysql安装目录授予mysql用户组和mysql用户*/tks-gp mysql-5.5.21 # cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqldtks-gp mysql-5.5.21 # cp /etc/mysql/my.cnf /etc/mysql/my.cnf_bak /*备份mysql配置文件*/tks-gp mysql-5.5.21 # vim /etc/mysql/my.cnf /*编辑mysql配置文件,按照自己情况修改*/tks-gp mysql-5.5.21 # /usr/local/mysql/scripts/mysql_install_db \ /*Mysql初始化安装*/> –basedir=/usr/local/mysql \ /*mysql的安装目录*/> –datadir=/usr/local/mysql/data \ /*mysql的数据存放目录*/> –user=mysql \ /*指定用户*/> –no-defaultstks-gp mysql-5.5.21 # chmod 755 /etc/init.d/mysqldtks-gp mysql-5.5.21 # chkconfig –add mysqld /*设置mysql开机启动*/tks-gp mysql-5.5.21 # /etc/init.d/mysqld start /*启动mysql*///////////////////////////////////////////////////////////////////启动mysql报错* The server quit without updating PID file (/usr/local/mysql/data/tks-gp.pid).本来想查看一下日志文件/var/log/mysq/error.log的,发现日志文件不存在查看一下/etc/mysql/my.cnf文件,发现里面变量的日志文件存放在/var/log/mysql/error.log怀疑是不是/var/log下没有mysql目录,而且权限也不够于是在/var/log目录下新建了一个mysql目录,然后修改目录权限tks-gp mysql-5.5.21 # mkdir /var/log/mysqltks-gp mysql-5.5.21 # chown -R mysql:mysql /var/log/mysql再次启动,成功//////////////////////////////////////////////////////////////////tks-gp Downloads # /usr/local/mysql/bin/mysqladmin -u root password "123456" /*设置root用户的密码为123456*/tks-gp Downloads # vim /etc/profile /*编辑/etc/profile文件*/设置Mysql命令到PATH在/etc/profile文件中加入下面的代码:————————————————-MYSQL_HOME=/usr/local/mysqlPATH=$MYSQL_HOME/bin:$PATHexport PATH————————————————保存,退出tks-gp Downloads # . /etc/profile /*执行,将当前配置写进当前shell,犹如source /etc/profile命令*/现在,已经可以全局使用mysql命令了到此,mysql的安装/配置就完成了。///////////////////////////////////////////////////////////////////etc/init.d/mysqld start 启动Mysql/etc/init.d/mysqld restart 重启Mysql/etc/init.d/mysqld stop 关闭Mysql//////////////////////////////////////////////////////////////////4、编译安装、配置Apache tks-gp Downloads # tar zxf apr-1.4.6.tar.gztks-gp Downloads # cd apr-1.4.6//*编译安装apr*/tks-gp apr-1.4.6 # ./configure –prefix=/usr/local/aprtks-gp apr-1.4.6 # maketks-gp apr-1.4.6 # make installtks-gp apr-1.4.6 # cd ..tks-gp Downloads # tar zxf apr-util-1.4.1.tar.gztks-gp Downloads # cd apr-util-1.4.1//*编译安装apr-util*/tks-gp apr-util-1.4.1 # ./configure –prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-configtks-gp apr-util-1.4.1 # maketks-gp apr-util-1.4.1 # make installtks-gp apr-util-1.4.1 # cd ..tks-gp Downloads # tar zxf apr-iconv-1.2.1.tar.gztks-gp Downloads # cd apr-iconv-1.2.1//*编译安装apr-iconv*/tks-gp apr-iconv-1.2.1 # ./configure –with-apr=/usr/local/apr/bin/apr-1-configtks-gp apr-iconv-1.2.1 # maketks-gp apr-iconv-1.2.1 # make installtks-gp apr-iconv-1.2.1 # cd ..tks-gp Downloads # tar zxf httpd-2.4.1.tar.gztks-gp Downloads # cd httpd-2.4.1/tks-gp httpd-2.4.1 # ./configure –prefix=/usr/local/apache2–enable-module=so –enable-module=rewrite–with-apr=/usr/local/apr/bin/apr-1-config–with-apr-util=/usr/local/apr-util/bin/apu-1-config –with-libxml2/** –prefix=/usr/local/apache2 #设置apache安装目录* –enable-module=so #so模块用来提供 DSO 支持的 apache 核心模块* –enable-module=rewrite #开启rewrite模块* –with-apr=/usr/local/apr/bin/apr-1-config #指向apr* –with-apr-util=/usr/local/apr-util/bin/apu-1-config #指向apr-util* –with-libxml2 #使用本地libxml2*/tks-gp httpd-2.4.1 # maketks-gp httpd-2.4.1 # make installtks-gp httpd-2.4.1 # mkdir /var/wwwtks-gp httpd-2.4.1 # chown -R www-data:www-data /var/wwwtks-gp httpd-2.4.1 # chmod -R 755 /var/wwwtks-gp httpd-2.4.1 # cp /usr/local/apache2/bin/apachectl /etc/init.d/httpdtks-gp httpd-2.4.1 # vim /usr/local/apache2/conf/httpd.conf——————————————————–第52行:Listen 80 改为 Listen 8080第156行:User daemon 改为 User www-data第157行:Group daemon 改为 Group www-data第178行:ServerAdminyou@example.com 改为 ServerAdminvsgeping@gmail.com第187行:#ServerNamewww.example.com:80 改为 ServerName 127.0.0.1:8080第211行:DocumentRoot "/usr/local/apache2/htdocs" 改为 DocumentRoot "/var/www"第212行:<Directory "/usr/local/apache2/htdocs"> 改为 <Directory "/var/www">第245行:DirectoryIndex index.html 改为 DirectoryIndex index.html index.php——————————————————–tks-gp httpd-2.4.1 # cp /usr/local/apache2/htdocs/index.html /var/wwwtks-gp httpd-2.4.1 # chkconfig –add httpd /*设置开机启动*////////////////////////////////////////////////////////////////////etc/init.d/httpd start 开启apache服务/etc/init.d/httpd restart 重启apache服务/etc/init.d/httpd stop 停止apache服务//////////////////////////////////////////////////////////////////5、编译安装、配置PHP tks-gp Downloads # tar xzf libxml2-2.7.8.tar.gztks-gp Downloads # cd libxml2-2.7.8/tks-gp libxml2-2.7.8 # ./configuretks-gp libxml2-2.7.8 # maketks-gp libxml2-2.7.8 # make install—————————————————-在编译安装低版本Libxml2时出错,提示:make[1]: *** [nanohttp.lo] Error 1make[1]: Leaving directory `/home/gp/Downloads/libxml2-2.7.8’make: *** [install-recursive] Error 1打开nanohttp.c文件修改:tks-gp libxml2-2.7.8 # vim nanohttp.cfd = open(filename, O_CREAT | O_WRONLY);更换为fd = open(filename, O_CREAT | O_WRONLY,0777);—————————————————-tks-gp libxml2-2.7.8 # cd ..tks-gp Downloads # cd php-5.3.10/tks-gp php-5.3.10 # ./configure –prefix=/usr/local/php–with-config-file-path=/usr/local/php/etc –with-mysql=/usr/local/mysql–with-mysqli=/usr/local/mysql/bin/mysql_config –enable-mbstring–with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib–with-libxml-dir –enable-xml –with-iconv-dir=/usr/local–with-apxs2=/usr/local/apache2/bin/apxs/** –prefix=/usr/local/php #指定PHP的安装目录* –with-config-file-path=/usr/local/php/etc #指定PHP配置文件目录* –with-mysql=/usr/local/mysql #指定mysql安装目录* –with-mysqli=/usr/local/mysql/bin/mysql_config #指定mysql_config文件路径* –enable-mbstring #开启mbstring* –with-freetype-dir #对freetype的支持* –with-jpeg-dir #GD模块对JPEG支持* –with-png-dir #GD模块对png支持* –with-zlib #对zlib支持* –with-libxml-dir #libxml支持* –enable-xml #对XML支持* –with-iconv-dir=/usr/local #对转码iconv的支持* –with-apxs2=/usr/local/apache2/bin/apxs #指定apache的路径*/tks-gp php-5.3.10 # maketks-gp php-5.3.10 # make testtks-gp php-5.3.10 # make installtks-gp php-5.3.10 # cp php.ini-development /usr/local/php/lib/php/php.initks-gp php-5.3.10 # vim /usr/local/apache2/conf/httpd.conf/*打开apache配置文件,让它对php支持,在文件大概在375行的位置加上下面几句*/—————————AddType application/x-httpd-php .php—————————tks-gp php-5.3.10 # /etc/init.d/httpd restart /*重启apache服务*/tks-gp php-5.3.10 # vim /var/www/index.php编辑index.php文件中加入—————————————-<?php phpinfo();—————————————-tks-gp php-5.3.10 # chown -R www-data:www-data /var/wwwtks-gp php-5.3.10 # chmod -R 755 /var/www6、配置Nginx和Apache 接下来要做的就是用nginx作反向代理,用apache来处理php脚本之前在配置Nginx的时候,只在nginx.conf文件中加入了一行include vhost/*.conf;现在就在vhost目录里面新建一个虚拟主机的配置文件tks-gp php-5.3.10 # cd /usr/local/nginx/conf/tks-gp conf # vim vhost/www.gp.com.conf/*加入下面的代码*/—————————————————server{ listen 80; server_namewww.gp.com; root /var/www; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_headerX-Forwarded-For $proxy_add_x_forwarded_for; proxy_passhttp://www.gp.com:8080; } access_log/usr/local/nginx/logs/www.gp.com.log;}—————————————————保存退出再给apache增加一个虚拟主机配置文件tks-gp conf # cd /usr/local/apache2/conf/tks-gp conf # vim httpd.conf查找Virtual hosts(大概在464行)去掉Include前的“#”改为:Include conf/vhost/*.conf保存退出tks-gp conf # mkdir vhosttks-gp conf # vim vhost/www.gp.com.conf/*加入以下代码*/———————————————————————<VirtualHost *:8080> ServerAdminvsgeping@gmail.com DocumentRoot "/var/www" ServerNamewww.gp.com ErrorLog "logs/www.gp.com-error_log" CustomLog "logs/www.gp.com-access_log" common</VirtualHost>———————————————————————保存退出接下来修改/etc/hosts文件tks-gp conf # vim /etc/hosts加入下面的代码————————————————127.0.0.1 www.gp.com————————————————保存退出重启nginx和apachetks-gp conf # /etc/init.d/nginx -s stoptks-gp conf # /etc/init.d/nginxtks-gp conf # /etc/init.d/httpd restart打开浏览器访问一下:www.gp.com至此,LANMP全部搭建完成了。。。。。

临行之前,面对太多的疑问和不解:为何是一个人?

我们一起来学linux:linux搭建LANMP(编译版)

相关文章:

你感兴趣的文章:

标签云: