nginx+php+mysql+erlang+mongo环境安装

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介:

---------------- 把源码包放在/usr/local/tar/目录下---------------------------------------------------------------------------
---------centos 是用yum安装 ,suse 是用yast --install 安装
yum -y install gcc
yum -y install gcc-c++
yum -y install ncurses-devel
yum -y install make
yum -y install gettext-devel
yum -y install pcre-devel openssl-devel
yum -y install curl-devel
yum -y install libxml2 libxml2-devel
yum -y install patch
cd /usr/local/tar/

tar zxvf ncurses-5.6.tar.gz 
cd ncurses-5.6/
./configure  --with-shareed --without-debug --without-ada --enable-overwrite
make
make install
cd ..

tar zxvf mysql-5.0.41.tar.gz 

cd mysql-5.0.41/


mkdir -p /data/data1/mysql
mkdir -p /data/tmp/
  ./configure --prefix=/data/mysql --with-plugins=all --with-mysqld-user=mysql --with-charset=utf8 --with-extra-charsets=all -with-unix-socket-path=/data/tmp/mysql.sock --localstatedir=/data/data1/mysql/ --enable-assembler --sysconfdir=/etc --enable-thread-safe-client --with-mysqld-ldflags=-all-static   --with-client-ldflags=-all-static-ltinfo

make 
make install
groupadd mysql
useradd -g mysql mysql
cp -f support-files/my-medium.cnf /etc/my.cnf

cd /data/mysql
chown -R root .
chgrp -R mysql .

cd /usr/local/tar/

tar zxvf freetype-2.3.5.tar.gz 
cd freetype-2.3.5/
./configure --prefix=/data/freetype
make
make install
cd ..

tar zxvf libpng-1.2.33.tar.gz 
cd libpng-1.2.33/
cp scripts/makefile.linux  makefile
make test
make install
cd ..

tar zxvf jpegsrc.v8a.tar.gz 
cd jpeg-8a/
mkdir /data/jpeg
mkdir /data/jpeg/bin
mkdir /data/jpeg/lib
mkdir /data/jpeg/include
mkdir /data/jpeg/man
mkdir /data/jpeg/man/man1

./configure --prefix=/data/jpeg --enable-shared --enable-static

make
make install

cd ..
tar zxvf gd-2.0.35.tar.gz 

cd gd-2.0.35/
./configure --prefix=/data/gd --with-jpeg=/data/jpeg --with-png=/data/libpng --with-zlib=/data/zlib --with-freetype=/data/freetype

make
make install
cd ..

tar zxvf libevent-1.4.13-stable.tar.gz 
cd libevent-1.4.13-stable/
./configure && make && make install

cd ..

tar zxvf zlib-1.2.3.tar.tar 
cd zlib-1.2.3/
CFLAGS="-O3 -fPIC" ./configure && make && make install
cd ..


tar zxvf php-5.2.6.tar.gz 
gzip -cd php-5.2.6-fpm-0.5.9.diff.gz | patch -d php-5.2.6 -p1

cd php-5.2.6/
ln -s /data/mysql/bin/mysql_config /usr/bin/mysql_config

CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors \
            -fno-exceptions -fno-rtti" ./configure --prefix=/data/php --with-zlib --enable-pdo=shared --with-pdo-sqlite=shared --with-sqlite=shared --with-pdo-mysql=shared --with-gd=/data/gd --enable-gd --enable-gd-native-ttf --with-jpeg-dir=/data/jpeg --with-png --with-ttf --with-freetype-dir=/data/freetype --enable-magic-quotes --with-mysql=/data/mysql --with-mysql-sock=/data/tmp/mysql.sock --with-iconv --with-mbstring --enable-mbstring --enable-track-vars --with-config-file-path=/etc --with-pear=/data/pear --with-curl=/data/curl/ --with-curlwrappers --enable-fastcgi --enable-force-cgi-redirect --enable-fastcgi --enable-fpm

make

make install

cp php.ini-dist /etc/php.ini

echo "/data/php/sbin/php-fpm start" >>/etc/rc.local


cd ..

tar zxvf memcache-2.2.5.tgz
tar zxvf memcached-1.4.4.tar.gz 

cd memcached-1.4.4
./configure && make && make install
cd ..

cd memcache-2.2.5 
/data/php/bin/phpize 
./configure --with-php-config=/data/php/bin/php-config
make && make install

cd ..
tar zxvf libxml2-2.7.6.tar.gz 
cd libxml2-2.7.6/
./configure && make && make install
cd ..

tar zxvf amfext-0.9.2.tgz 
cd amfext-0.9.2
/data/php/bin/phpize 
./configure --with-php-config=/data/php/bin/php-config
make && make install

cd ..
tar jxvf eaccelerator-0.9.6.tar.bz2
cd eaccelerator-0.9.6
/data/php/bin/phpize 
./configure --with-php-config=/data/php/bin/php-config
make && make install

cd ..

tar zxvf gamin-0.1.10.tar.gz
cd gamin-0.1.10
./configure && make && make install
cd ..

tar zxvf pcre-8.01.tar.gz
cd pcre-8.01
./configure && make && make install
cd ..


tar zxvf PDO-1.0.3.tgz
cd PDO-1.0.3
/data/php/bin/phpize
./configure --with-php-config=/data/php/bin/php-config && make && make install
cd ..


tar zxvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
/data/php/bin/phpize
./configure --with-php-config=/data/php/bin/php-config && make && make install
cd ..

tar zxvf ncurses-5.6.tar.gz 
cd ncurses-5.6/
./configure && make && make install

cd ..

tar -zxvf openssl-0.9.8k.tar.gz
cd openssl-0.9.8k
./configure --prefix=/data/openssl
make
make install
cd ..

tar zxvf nginx-0.8.54.tar.gz 
cd nginx-0.8.54/
./configure  --prefix=/data/nginx/ --with-http_stub_status_module --with-openssl=/usr/local/openssl
make && make install
/data/nginx/sbin/nginx
echo "/data/nginx/sbin/nginx" >>/etc/rc.local
cd ..

tar zxvf mongodb-linux-x86_64-static-legacy-2.2.2.tgz
mv mongodb-linux-x86_64-static-legacy-2.2.2 /data/ssd/mongodb

cd /data/ssd/mongodb/
mkdir DataDB
mkdir Logs
mkdir LogDB
cd /usr/local/tar

tar zxvf mongodb-mongo-php-driver-1.3.0RC1-0-g360a7bf.tar.gz 

cd mongodb-mongo-php-driver-360a7bf/
/data/php/bin/phpize 
./configure --with-php-config=/data/php/bin/php-config --enable-mongo
./configure --with-php-config=/data/php/bin/php-config

make
cp modules/mongo.so /data/php/lib/php/extensions/no-debug-non-zts-20060613/
cd ..
tar zxvf ncurses-5.6.tar.gz
cd ncurses-5.6/
./configure
make
make install clean
cd ..

tar -xzf otp_src_R16B.tar.gz
cd otp_src_R16B/
./configure 
make
make install
cd ..

tar zxvf crypto-2.0.tar.gz -C /usr/local/lib/erlang/lib/

#/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/DataDB/ --port 27017 --logpath  /usr/local/mongodb/Logs/logs --logappend

echo "/data/rysj/mongodb/bin/mongod --dbpath /data/rysj/mongodb/DataDB/ --port 27017 --logpath  /data/rysj/mongodb/Logs/logs1.txt --logappend --fork" >>/etc/rc.local
echo "/data/rysj/mongodb/bin/mongod --dbpath /data/rysj/mongodb/LogDB/ --port 27217 --logpath  /data/rysj/mongodb/Logs/logs2.txt --logappend --fork" >>/etc/rc.local
--------------------------------------------------配置-----------------------------------------
一、配置/etc/php.ini      找到;extension=php_zip.dll 后添加 

extension_dir="/data/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension="memcache.so"
extension="mongo.so"
二、配置PHP
进入/data/php/etc/下
cp php-fpm.conf php-fpm-web.conf
vi php-fpm-web.conf
找到
<value name="php_defines">后添加 
<value name="open_basedir">/data/ssd/server:/data/ssd/www/html:/data/ssd/www/php</value>

找到
   Unix user of processes
 <-- <value name="user">nobody</value>  --> 

   Unix group of processes
 <-- <value name="group">nobody</value> -->
把<--    -->去掉

在cp php-fpm-web.conf  php-fpm-server.conf 
vi php-fpm-server.conf
找到<value name="listen_address">127.0.0.1:9000</value> 把9000修改9001            #注意9000 与9001端口是用来与ngnix相连的
进入/data/php/sbin/下
vi php-fpm
找到case "$1" in
 start)
  echo -n "Starting php_fpm "

# $php_fpm_BIN --fpm $php_opts  这里用#注释掉后下面添加

$php_fpm_BIN --fpm --fpm-config /data/php/etc/php-fpm-web.conf
$php_fpm_BIN --fpm --fpm-config /data/php/etc/php-fpm-server.conf


三、配置nginx 
进入/data/nginx/conf/下
mv  nginx.conf nginx.conf.bak
vi nginx.conf 
把已经优化过的配置nginx.conf内容复制进去。也可以看以前的nginx.conf配置
复制后,我们来修改以下的


server
  {
    listen       80;
    server_name  s1.com; #修改域名     
    index index.html index.htm index.php;
    root  /data/ssd/www/html;                   #WEB代码放的目录。
    #limit_conn   crawler  20;

    location ~ .*\.(php|php5)?$
    {
      #fastcgi_pass  unix:/tmp/php-cgi.sock;
      fastcgi_pass  127.0.0.1:9000;             #这里与php-fpm-web.conf的9000端口对应
      fastcgi_index index.php;
      fastcgi_param  SCRIPT_FILENAME  /data/ssd/www/html$fastcgi_script_name;  #WEB代码放的目录。
      include        fastcgi_params;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$
    {
    expires 30d;
    }

}
server
  {
    listen       81;
    server_name  s1.com; #修改域名     
    index index.html index.htm index.php;
    root  /data/ssd/server;                   #DB代码放的目录。我们可以把rockmongo放在这里,就可以从81端口进入了。
    #limit_conn   crawler  20;

    location ~ .*\.(php|php5)?$
    {
      #fastcgi_pass  unix:/tmp/php-cgi.sock;
      fastcgi_pass  127.0.0.1:9001;             #这里与php-fpm-server.conf的9001端口对应
      fastcgi_index index.php;
      fastcgi_param  SCRIPT_FILENAME  /data/ssd/server$fastcgi_script_name; #DB代码放的目录
      include        fastcgi_params;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$
    {
    expires 30d;
    }

}

-------------------------------
/data/php/sbin/php-fpm start 开启php     restart重启
/data/ngnix/sbin/nginx   开启nginx   /data/ngnix/sbin/nginx -s reload
-------------------------------------------为止-----------------------------------------------------------------------------------------

 

 

--------------------------一个WEB多个DB--------------------------------------------------------------------------------
一、配置PHP
一、配置/etc/php.ini      找到;extension=php_zip.dll 后添加 

extension_dir="/data/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension="memcache.so"
extension="mongo.so"
二、配置PHP
进入/data/php/etc/下
cp php-fpm.conf php-fpm-web.conf
vi php-fpm-web.conf
找到
<value name="php_defines">后添加 
<value name="open_basedir">/data/ssd/server:/data/ssd/www/html:/data/ssd/www/php</value>

找到
   Unix user of processes
 <-- <value name="user">nobody</value>  --> 

   Unix group of processes
 <-- <value name="group">nobody</value> -->
把<--    -->去掉

在cp php-fpm-web.conf  php-fpm-server.conf 
vi php-fpm-server.conf
找到<value name="listen_address">127.0.0.1:9000</value> 把9000修改9001            #注意9000 与9001端口是用来与ngnix相连的

-------------------如果配置一个WEB多个DB只是多加个端口。
cp php-fpm-web.conf php-fpm-web2.conf
vi php-fpm-web2.conf
找到<value name="listen_address">127.0.0.1:9002</value> 把9000修改9002          
找到
<value name="php_defines">后修改 
<value name="open_basedir">/data/ssd/server:/data/ssd/www2/html:/data/ssd/www2/php</value>

-----------------------------------------------------------------------
进入/data/php/sbin/下
vi php-fpm
找到case "$1" in
 start)
  echo -n "Starting php_fpm "

# $php_fpm_BIN --fpm $php_opts  这里用#注释掉后下面添加

$php_fpm_BIN --fpm --fpm-config /data/php/etc/php-fpm-web.conf
$php_fpm_BIN --fpm --fpm-config /data/php/etc/php-fpm-server.conf
$php_fpm_BIN --fpm --fpm-config /data/php/etc/php-fpm-web2.conf                          
二、配置nginx 
进入/data/nginx/conf/下
vi nginx.conf
找到http{  }里面 加入
include web.conf
include web2.conf
把里面

   server{ 
      listen 80
      ...........  
     }
删除。

保存退出

vi web.conf   内容

server
  {
    listen       80;
    server_name  s1.com;      
    index index.html index.htm index.php;
    root  /data/ssd/www/html;                  
    #limit_conn   crawler  20;

    location ~ .*\.(php|php5)?$
    {
      #fastcgi_pass  unix:/tmp/php-cgi.sock;
      fastcgi_pass  127.0.0.1:9000;             
      fastcgi_index index.php;
      fastcgi_param  SCRIPT_FILENAME  /data/ssd/www/html$fastcgi_script_name; 
      include        fastcgi_params;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$
    {
    expires 30d;
    }

}

vi web2.conf

server
  {
    listen       80;
    server_name  s2.com;   #域名   
    index index.html index.htm index.php;
    root  /data/ssd/www2/html;    #目录              
    #limit_conn   crawler  20;

    location ~ .*\.(php|php5)?$
    {
      #fastcgi_pass  unix:/tmp/php-cgi.sock;
      fastcgi_pass  127.0.0.1:9002;    #端口         
      fastcgi_index index.php;
      fastcgi_param  SCRIPT_FILENAME  /data/ssd/www2/html$fastcgi_script_name; #目录
      include        fastcgi_params;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$
    {
    expires 30d;
    }

}

我们就可以重启nginx与php
-----------------------------------------------------------------------------------------------------------------------

 

 


本文转自 jxzhfei  51CTO博客,原文链接:http://blog.51cto.com/jxzhfei/1218651


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
13天前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
24天前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。
|
2月前
|
存储 SQL 关系型数据库
PHP与MySQL交互的奥秘
【8月更文挑战第29天】在编程的世界里,PHP和MySQL就像是一对默契的舞伴,共同演绎着数据的交响曲。本文将带你探索它们之间的互动,从连接数据库到执行查询,再到处理结果,每一步都充满了节奏与和谐。我们将一起走进这段代码的旅程,感受数据流动的魅力。
|
1月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
2月前
|
SQL 关系型数据库 MySQL
PHP与MySQL交互之基础教程
【8月更文挑战第31天】 在数字世界中,数据是推动一切的核心力量。本文将引导你探索PHP与MySQL的协同工作,通过实际代码示例,展示如何建立连接、执行查询以及处理结果集。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你提供宝贵的实践知识。
|
3月前
|
数据库
基于PHP+MYSQL开发制作的趣味测试网站源码
基于PHP+MYSQL开发制作的趣味测试网站源码。可在后台提前设置好缘分, 自己手动在数据库里修改数据,数据库里有就会优先查询数据库的信息, 没设置的话第一次查询缘分都是非常好的 95-99,第二次查就比较差 , 所以如果要你女朋友查询你的名字觉得很好 那就得是她第一反应是查和你的缘分, 如果查的是别人,那不好意思,第二个可能是你。
52 3
|
4月前
|
NoSQL 关系型数据库 MySQL
linux服务器重启php,nginx,redis,mysql命令
linux服务器重启php,nginx,redis,mysql命令
64 1
|
17天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
19天前
|
存储 SQL 关系型数据库
使用MySQL Workbench进行数据库备份
【9月更文挑战第13天】以下是使用MySQL Workbench进行数据库备份的步骤:启动软件后,通过“Database”菜单中的“管理连接”选项配置并选择要备份的数据库。随后,选择“数据导出”,确认导出的数据库及格式(推荐SQL格式),设置存储路径,点击“开始导出”。完成后,可在指定路径找到备份文件,建议定期备份并存储于安全位置。
159 11

推荐镜像

更多
下一篇
无影云桌面