LNAMP服务器环境搭建(手动编译安装)

时间:2022-08-28 13:20:17

LNAMP服务器环境搭建(手动编译安装)

一、准备材料

阿里云主机一台,操作系统CentOS 6.5 64位

lnamp.zip包(包含搭建环境所需要的所有软件)

http://123.56.144.36:8001/tools/lnamp.zip

二、确认环境

#确认CentOS YUM安装使用正常

yum clean all

yum makecache

#确认c gc gc-c++安装正常

yum install -y gc gcc gcc-c++

#确认安装环境需要的软件

yum install -y wget zip unzip gzip

yum install -y libxml2 libxml2-devel

yum install -y zlib zlib-devel

yum install -y freetype freetype-devel

yum install -y autoconf

yum install -y apr apr-util apr-devel apr-util-devel

yum install -y libmcrypt libmcrypt-devel

yum install -y libpng libpng-devel

yum install -y libjpeg libjpeg-devel

yum install -y turbojpeg turbojpeg-devel

yum install -y openjpeg openjpeg-devel openjpeg-libs

yum install -y glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel

yum install -y curl curl-devel

yum install -y gd gd-devel

yum install -y make

yum install -y ncurses ncurses-devel

yum install -y e2fsprogs e2fsprogs-devel

yum install -y libidn libidn-devel

yum install -y openldap openldap-devel nss_ldap openldap-clients openldap-servers

#yum install -y krb5*

yum install -y openssl*

三、安装配置服务器软件

#使用root用户登录系统,下载软件:

cd /root

wget http://123.56.144.36:8001/tools/lnamp.zip

unzip lnamp.zip

1. 安装nginx 1.4.7

cd /root/server/nginx-1.4.7

./configure --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/root/server/pcre-8.35 --with-http_realip_module --with-http_image_filter_module --with-zlib=/root/server/zlib-1.2.3

make

make install

#启动方法(进程独占)

/usr/local/nginx/sbin/nginx

#直接ip地址访问(默认http 80端口)

http://[server_ip_address]/

#热重启(修改配置后)

/usr/local/nginx/sbin/nginx -s reload

#其他命令

#/usr/local/nginx/sbin/nginx -s stop, quit, reopen, reload

2. 安装apache httpd-2.2.29

cd /root/server/httpd-2.2.29

./configure --prefix=/usr/local/apache2/httpd_8001 --disable-userdir --enable-so --enable-ssl --enable-cgi --enable-deflate=shared --enable-expires=shared --enable-mods-shared=all --enable-rewrite=shared --enable-static-support --with-zlib --with-pcre --enable-modules=most

make

make install

#修改配置(此处为简单修改,详细配置单独讲解)

vi /usr/local/apache2/httpd_8001/conf/httpd.conf

#修改端口#Listen 12.34.56.78:80为 #Listen 8001

#修改用户和用户组#User daemon #Group daemon 为 #User www #Group www

#启动方法

/usr/local/apache2/httpd_8001/bin/apachectl start

#直接ip地址访问(端口8001)

http://[server_ip_address]:8001/

#重启(修改配置后)

/usr/local/apache2/httpd_8001/bin/apachectl restart

#其他命令

#/usr/local/apache2/httpd_8001/bin/apachectl start|restart|graceful|graceful-stop|stop

#/usr/local/apache2/httpd_8001/bin/httpd -k start|restart|graceful|graceful-stop|stop

3.安装apache模块mod_rpaf

#安装apache模块mod_rpaf让nginx后端的apache获取访客IP

cd /root/server/mod_rpaf-0.6/

/usr/local/apache2/httpd_8001/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

#修改apache的配置文件

vi /usr/local/apache2/httpd_8001/conf/httpd.conf

#在 # 'Main' server configuration 的前面插入下面配置:

## Config mod_rpaf
LoadModule rpaf_module modules/mod_rpaf-2.0.so
<IfModule mod_rpaf.c>
    RPAFenable On
    RPAFsethostname On
    RPAFproxy_ips 127.0.0.1
    RPAFheader X-Forwarded-For
</IfModule>

#修改配置后重启

/usr/local/apache2/httpd_8001/bin/apachectl restart

4. 安装MySQL

#YUM 安装MySQL,注意必须安装相关开发包

yum install -y mysql mysql-devel mysql-server mysql-libs mysql-connector-java

#启动MySQL

service mysqld start

#运行MySQL配置程序,根据提示设置

#相关配置有:设置root密码,关闭远程访问,删除测试数据库等。

#请根据提示操作。

/usr/bin/mysql_secure_installation

#设置开机自动启动

chkconfig mysqld on

#其他命令

#service mysqld start | restart | stop

5. 编译安装PHP所需的软件

依次安装libxml2、libmcrypt、libltdl、zlib、libpng、jpeg6、freetype、autoconf

【编译安装的过程中如果64位系统出错可以尝试./configure前面加上CFLAGS="-O3 -fPIC"】

#安装 libxml2

cd /root/server/libxml2-2.6.30

./configure --prefix=/usr/local/libxml2/

make && make install

#安装 libmcrypt

cd /root/server/libmcrypt-2.5.8

./configure --prefix=/usr/local/libmcrypt/

make && make install

#安装 libltdl(for libmcrypt)

cd /root/server/libmcrypt-2.5.8/libltdl

./configure --enable-ltdl-install

make && make install

#安装 zlib

cd /root/server/zlib-1.2.3

./configure

make && make install

#安装 libpng

cd /root/server/libpng-1.2.31

./configure --prefix=/usr/local/libpng/

make && make install

#安装 jpeg6

mkdir /usr/local/jpeg6

mkdir /usr/local/jpeg6/bin

mkdir /usr/local/jpeg6/lib

mkdir /usr/local/jpeg6/include

mkdir -p /usr/local/jpeg6/man/man1

cd /root/server/jpeg-6b

./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static

make && make install

#安装 freetype

cd /root/server/freetype-2.3.5

./configure --prefix=/usr/local/freetype/

make && make install

#安装 autoconf

cd /root/server/autoconf-2.61

./configure

make && make install

6. 编译安装PHP

由于使用的是apache 模块化php安装(apache2handler),每个apache httpd server 需要对应一个php应用软件。

各个版本安装需要安装不同的apache httpd server,apache与php一对一关系。

这里以httpd_8001与php52_8001对应安装为例,如果安装多个server多个版本支持可以重复安装第2,3,6步骤,httpd_800x,php5x_800x类似的命名方式安装。

【编译安装的过程中如果64位系统出错可以尝试./configure前面加上CFLAGS="-O3 -fPIC"】

编译安装php-5.2.17

cd /root/server/php-5.2.17

./configure --prefix=/usr/local/php/php52_8001/ --with-config-file-path=/usr/local/php/php52_8001/etc/ --with-apxs2=/usr/local/apache2/httpd_8001/bin/apxs  --with-mysql=/usr/bin/mysql --with-mysqli=/usr/bin/mysql_config --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/ --with-gd --with-mcrypt=/usr/local/libmcrypt/ --enable-soap --enable-mbstring=all --enable-sockets --with-pdo_mysql --with-curl --with-zlib

make && make install

#配置apache2handler(for httpd_8001)

vi /usr/local/apache2/httpd_8001/conf/httpd.conf

#在 # 'Main' server configuration 的前面插入下面配置:

## Config httpd to add php handler

LoadModule php5_module        modules/libphp5.so
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

##找到DirectoryIndex index.html 这一行

#修改为 DirectoryIndex index.html index.php default.html default.php index.phtml

#添加php配置文件

cp /root/server/php-5.2.17/php.ini-dist /usr/local/php/php52_8001/etc/php.ini

#修改配置后重启(PHP此刻生效)

/usr/local/apache2/httpd_8001/bin/apachectl restart

## 安装ZendOptimizer 3.3.3(大量zend加密系统需要,仅支持php5.2及以下,php5.3以上使用ZendGuardLoader)(32位系统注意安装对应的i386文件)

cd /root/server/ZendOptimizer-3.3.3-linux-glibc23-x86_64/

./install

#如果成功运行,则按照提示进行安装,如果失败需要手动安装。

mkdir /usr/local/php/php52_8001/zend/

cp /root/server/ZendOptimizer-3.3.3-linux-glibc23-x86_64/data/5_2_x_comp/ZendOptimizer.so /usr/local/php/php52_8001/zend/

#修改php配置文件php.ini

vi /usr/local/php/php52_8001/etc/php.ini

#shift+G到最后一行,插入下面配置即可

[Zend]

zend_extension="/usr/local/php/php52_8001/zend/ZendOptimizer.so"

#修改配置后重启

/usr/local/apache2/httpd_8001/bin/apachectl restart

编译安装php-5.3.28

1) 首先安装apache httpd-2.2.29,并设置端口为8002

##! 切记,由于安装过一次在./configure以前务必 make clean

cd /root/server/httpd-2.2.29

make clean

./configure --prefix=/usr/local/apache2/httpd_8002 --disable-userdir --enable-so --enable-ssl --enable-cgi --enable-deflate=shared --enable-expires=shared --enable-mods-shared=all --enable-rewrite=shared --enable-static-support --with-zlib --with-pcre --enable-modules=most

make

make install

#备份原配置文件,拷贝新的配置文件

mv /usr/local/apache2/httpd_8002/conf/httpd.conf /usr/local/apache2/httpd_8002/conf/httpd.conf.bak

cp /usr/local/apache2/httpd_8001/conf/httpd.conf /usr/local/apache2/httpd_8002/conf/httpd.conf

#修改httpd.conf里面的所有8001替换为8002

vi /usr/local/apache2/httpd_8002/conf/httpd.conf

2) 然后安装apache模块mod_rpaf

cd /root/server/mod_rpaf-0.6/

make clean

/usr/local/apache2/httpd_8002/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

3) 然后安装php-5.3.28

cd /root/server/php-5.3.28

make clean

./configure --prefix=/usr/local/php/php53_8002/ --with-config-file-path=/usr/local/php/php53_8002/etc/ --with-apxs2=/usr/local/apache2/httpd_8002/bin/apxs  --with-mysql=/usr/bin/mysql --with-mysqli=/usr/bin/mysql_config --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/ --with-gd --with-mcrypt=/usr/local/libmcrypt/ --enable-soap --enable-mbstring=all --enable-sockets --with-pdo_mysql --with-curl --with-zlib

make

make install

#添加php配置文件

cp /root/server/php-5.3.28/php.ini-production /usr/local/php/php53_8002/etc/php.ini

#修改配置后启动apache(PHP此刻生效)

/usr/local/apache2/httpd_8002/bin/apachectl start

## 安装 ZendGuardLoader(32位系统注意安装对应的i386文件)

mkdir /usr/local/php/php53_8002/zend/

cp /root/server/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so /usr/local/php/php53_8002/zend/

#修改php配置文件php.ini

vi /usr/local/php/php53_8002/etc/php.ini

#shift+G到最后一行,插入下面配置即可

[Zend]

zend_extension="/usr/local/php/php53_8002/zend/ZendGuardLoader.so"

#修改配置后重启

/usr/local/apache2/httpd_8002/bin/apachectl restart

编译安装php-5.4.* and so on

【同上面两个部分,可以自行安装……】

7. 编译安装ProFTP

## 编译安装Apache like FTP Server

cd /root/server/proftpd-1.3.5

./configure --prefix=/usr/local/proftpd

make && make install

#启动proftpd

/usr/local/proftpd/sbin/proftpd

四、创建新用户并配置server root

1. Linux创建新用户

#添加用户的命令:

useradd [your username]

#修改密码的命令:

passwd [your username]

#新用户创建后位置在

/home/[ your username]

#我们以创建一个www用户为例讲解

useradd www -p 12348765 -s /sbin/nologin

# useradd www添加一个用户名为www的用户

# -p 12348765 密码设置为12348765

# -s /sbin/nologin 将用户的shell设置为不能登录

#运行命令

cd /home

ll

#会发现有一个www的文件夹,这就是刚创建的用户www的家目录

#ftp登录以此用户名密码登录本机ip地址即可,根目录会被锁定在此

2. 配置server root

服务器设计:

Nginx作为前端代理软件,后端apache2handler的HTTPD Server作为PHP应用服务器(其他的应用如Tomcat可以做为Java Servlet服务器)。

MySQL独立的数据库服务软件。

虚拟主机结构:

www虚拟空间用户,一个用户服务多个网站。

admin管理员用户,管理服务器操作。

root超级管理员。

<others…> 其他用户,可以独立安装对应的服务。

(在www虚拟空间中手动添加网站)方法:

1、创建网站文件夹

cd /home/www

su www

mkdir <yourdomain.name>

#使用www用户登录ftp上传网站文件到该目录

exit

2、*如果需要MySQL数据库

使用phpmyadmin登录创建需要的数据库,并导入数据(库)表

http://123.56.144.36:8001/phpmyadmin/

admin ****PWD****

3、Apache虚拟主机配置

cd /usr/local/apache2/httpd_8001/conf/vhosts/

cp cn.ln-china.www.conf <your.configure.conf>

#修改配置文件,指定域名、文件夹位置、log文件名等

#就是替换掉原先配置的域名相关信息为新的域名相关信息

#修改完成后,重启apache

/usr/local/apache2/httpd_8001/bin/apachectl restart

4、Nginx虚拟主机配置

cd /usr/local/nginx/conf/vhosts/

cp cn.ln-china.www.conf <your.configure.conf>

#修改配置文件,指定域名、文件夹位置、log文件名等

#就是替换掉原先配置的域名相关信息为新的域名相关信息

#修改完成后,重启nginx

/usr/local/nginx/sbin/nginx –s reload

5、然后使用<yourdomain.name>访问网站即可

*域名有一个www转向的配置,二级域名不需要。

LNAMP服务器环境搭建(手动编译安装)的更多相关文章

  1. Tesseract环境搭建及编译安装

    Tesseract环境搭建及编译安装 Tesseract源码都是C++源码:对于不咋会C++的人来说,这真是...虽然说语言有相通性,但是...哎!!!!! 分享出来,也希望对大家有所帮助. 环境:w ...

  2. LNAMP服务器环境(源码安装)

    在安装前先看下它们安装时所需要的依赖库:http://www.cnblogs.com/fps2tao/p/7699448.html 1.nginx源码安装 下载:http://nginx.org/en ...

  3. (二)lamp环境搭建之编译安装mysql

    mysql 编译安装1,在网站上下载: wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz 2,安装cmake ...

  4. (三)lamp环境搭建之编译安装php

    1,PRC (People's *) timezone中设置的时间为中国时间. 2,php的官方镜像源,使用linux时可以直接下载的 http://cn2.php.n ...

  5. (一)lamp 环境搭建之编译安装apache

    apache的编译安装: 安装步骤大概参考:http://www.cnblogs.com/iyoule/archive/2013/10/24/3385540.html 简单的将分为三步: (1)安装a ...

  6. python服务器环境搭建(2)——安装相关软件

    在上一篇我们在本地的虚拟服务器上安装好CentOS7后,我们的python web服务.自定义的python service或python脚本需要在服务器上运行,还需要在服务器安装各种相关的软件才行, ...

  7. web服务器学习1---httpd-2&period;4&period;29源码手动编译安装

    环境准备: 系统:CentOS 7.4 软件:httpd-2.4.29 一  Apache主要特点 apache服务器在功能,性能和安全性等方面表现比较突出,可以较好地满足web服务器地应用需求.主要 ...

  8. 阿里云ECS服务器环境搭建——ubuntu16&period;04图形界面的安装

    阿里云ECS服务器环境搭建——ubuntu16.04图形界面的安装 最近琢磨着想在服务器上搭建一个hexo博客,于是就在阿里云上买了一个云服务器ECS,远程接入后默认给的是一个命令窗口,没有图形界面, ...

  9. python服务器环境搭建——安装相关软件

    在上一篇我们在本地的虚拟服务器上安装好CentOS7后,我们的python web服务.自定义的python service或python脚本需要在服务器上运行,还需要在服务器安装各种相关的软件才行, ...

随机推荐

  1. C&num;模拟Http与Https请求框架实例

    using System.Text; using System.Net; using System.IO; using System.Text.RegularExpressions; using Sy ...

  2. 重新想象 Windows 8&period;1 Store Apps &lpar;85&rpar; - 警报通知(闹钟)&comma; Tile 的新特性

    [源码下载] 重新想象 Windows 8.1 Store Apps (85) - 警报通知(闹钟), Tile 的新特性 作者:webabcd 介绍重新想象 Windows 8.1 Store Ap ...

  3. 【翻译】CEDEC2014跨世代多平台并行开发PS4版如龙维新开发的一年

    本篇PPT讲述的是如龙4的开发过程中,集中在PS3和PS4并行开发中所遇到和解决的一些问题.如64位指针,DX9向DX11移植API的问题,以及在PS4上使用并行渲染在1080P下让FPS达到60等. ...

  4. javascript设计模式学习之十五——装饰者模式

    一.装饰者模式定义 装饰者模式可以动态地给某个对象添加一些额外的职责,而不会影响从这个类中派生的其他对象.这种为对象动态添加职责的方式就称为装饰者模式.装饰者对象和它所装饰的对象拥有一致的接口,对于用 ...

  5. RPI学习--环境搭建&lowbar;刷卡&plus;wiringPi库安装

    1,镜像地址 http://www.raspberrypi.org/downloads/ 2,Windows下刷写工具 Win32 Disk Imager 3,安装wiringPi库 (这里在连网状态 ...

  6. js数组快速排序

    <script type="text/javascript"> var arr = [1, 2, 3, 54, 22, 1, 2, 3]; function quick ...

  7. Struts&lpar;十七&rpar;:通过CURD来学习paramsPrepareParams拦截器栈

    背景: 通过上一章节<Struts(十六):通过CURD来学习Struts流程及ModelDriven的用法>学习了ModelDriven拦截器的用法,上章节中讲到了edit功能. 要修改 ...

  8. Oracle 11g 服务启动&sol;关闭 及 DB dump 导入

    本地启动Oracle 服务脚本 由于本地机子安装了Oracle后,会自动启动一些默认的Oracle服务,这样子会导致机子比较慢.所以需要改成手动启动/关闭服务. 即用即开,不用就关. 开启的脚本: O ...

  9. Python之False和None

    这个其实在Python文档当中有写了,为了准确起见,我们先引用Python文档当中的原文: In the context of Boolean operations, and also when ex ...

  10. LwIP Application Developers Manual10---LwIP IPv4&sol;IPv6 stacks

    1.前言 lwIP正在加入IPv6,一个实验性的版本可以通过git下载,该版本实现了一个IPv4/IPv6的双协议栈.通过在lwipopts.h定义LWIP_IPV6可以使能IPv6 2.已实现的IP ...