shell 之 lnmp(nginx-1.0.5+php-fpm5.3.6+mysql)安装脚本

本文涉及的产品
RDSClaw,2核4GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS AI 助手,专业版
简介:

详细请参考 nginx_笔记分享_1_安装篇(nginx-1.0.5+php-fpm5.3.6+mysql)

#update 20120717 

1 安装脚本以附件install.sh.txt 为准

2 需要调用mysql_server.sh 脚本

#update 20120718

1 安装脚本以附件install2.sh.txt 为准

 

脚本如下:

 
  1. #!/bin/bash 
  2. # nstall nginx php (php-fpm) mysql
  3. # by zm 20110731
  4.  
  5. #variables 
  6. dir=/usr/local 
  7.  
  8. #pcre 
  9. if [ ! -e "$dir/pcre" ];then 
  10.    #echo "not found" 
  11.    tar zxf pcre*.tar.gz 
  12.    cd pcre*/ 
  13.    ./configure --prefix="$dir/pcre" && make && make install 
  14.    cd ../ 
  15.    if [ ! -e "$dir/pcre" ];then 
  16.        echo "error! can't install prce  please check ! Will now out of the scri    pt!" 
  17.        exit 1 
  18.        # 
  19.        #rm -rf pcre*/ 
  20.    fi 
  21. else 
  22.    echo "prce is already exists!" 
  23. fi 
  24.   
  25. #openssl 
  26. if [ ! -e "$dir/openssl" ];then 
  27.    #echo "not found" 
  28.    tar zxf openssl*.tar.gz 
  29.    mv openssl*/ "$dir/openssl" 
  30. else 
  31.    echo "openssl is already exists!" 
  32. fi 
  33.  
  34. #nginx 
  35. if ! grep 'nginx' /etc/passwd;then 
  36.     useradd nginx -s /sbin/nologin 
  37. fi 
  38. if [ ! -e "$dir/nginx" ];then 
  39.        tar zxf nginx*.tar.gz 
  40.        cd nginx*/ 
  41.        ./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.12/  --with-openssl=/usr/local/openssl/ --with-http_ssl_module --with-http_flv_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/ --user=nginx  --group=nginx 
  42.        make && make install 
  43.        cd ../ 
  44.     if [ ! -e "$dir/nginx" ];then 
  45.        echo "error! can't install nginx  please check ! Will now out of the script!" 
  46.        exit 1 
  47.     else 
  48.        rm -rf nginx*/ 
  49.     fi 
  50. else 
  51.        echo "nginx uesr and nginx group is already exists!" 
  52.        echo "nginx is already exists!" 
  53. fi 
  54. #   
  55. if ! grep '/usr/local/nginx/sbin' /etc/profile>/dev/null;then 
  56.        sed -i '$,/export/ a\export PATH=$PATH:/usr/local/nginx/sbin' /etc/profile 
  57.        source /etc/profile 
  58.        mkdir -p /var/tmp/nginx/client/ 
  59. fi 
  60.      
  61. #mysql 
  62. if [ ! -e "$dir/php" ];then 
  63.    ./mysql_server.sh 
  64.    #cd ../ 
  65.    sleep 1 
  66. else 
  67.     echo "mysql_server Already exists" 
  68. fi 
  69.   
  70.  
  71. #freetype 
  72. if [ ! -d "$dir/freetype" ];then 
  73.    tar xzf freetype*.tar.gz  
  74.    cd  freetype*/ 
  75.    ./configure --prefix=/usr/local/freetype 
  76.    make && make install && make clean 
  77.    cd ../   
  78.    if [ ! -d /usr/local/freetype ] 
  79.       then 
  80.       echo "error! can't install freetype  please check ! Will now out of the script!" 
  81.       exit 1 
  82.    else 
  83.       rm -rf freetype*/ 
  84.    fi 
  85. else 
  86.     echo "freetype Already exists!" 
  87. fi 
  88.   
  89.  
  90. #curl 
  91. if [ ! -d "$dir/curl" ];then 
  92.    tar xzf curl*.gz 
  93.    cd  curl*/ 
  94.    ./configure --prefix=/usr/local/curl 
  95.    make && make install  
  96.    cd ../   
  97.    if [ ! -d "$dir/curl" ];then 
  98.       echo "error! can't install curl  please check ! Will now out of the script!" 
  99.       exit 1 
  100.    else 
  101.       rm -rf curl*/ 
  102.    fi 
  103.     echo "curl ok!" 
  104. else 
  105.     echo "curl Already exists!" 
  106. fi 
  107.  
  108.  
  109. #libiconv 
  110. if [ ! -d "$dir/libiconv" ];then 
  111.    tar xzf libiconv*.gz 
  112.    cd  libiconv*/ 
  113.    ./configure --prefix=/usr/local/libiconv 
  114.    make && make install 
  115.    cd ../ 
  116.    if [ ! -d "$dir/libiconv" ];then 
  117.       echo "error! can't install iconv  please check ! Will now out of the script!" 
  118.       exit 1 
  119.    else 
  120.       rm -rf libiconv*/ 
  121.       echo " /usr/local/libiconv/lib" >> /etc/ld.so.conf 
  122.       ldconfig 
  123.    fi 
  124.    echo "libiconv ok!" 
  125. else 
  126.    echo "libiconv Already exists!" 
  127. fi 
  128.  
  129.  
  130. #libpng 
  131. if [ ! -d "$dir/libpng" ];then 
  132.    tar xzf libpng*.gz 
  133.    cd  libpng*/ 
  134.    ./configure --prefix=/usr/local/libpng 
  135.    #make && make install && make clean 
  136.    make && make install  
  137.    #./configure && make && make install 
  138.    cd ../ 
  139.    if [ ! -d "$dir/libpng" ];then 
  140.       echo "error! can't install png  please check ! Will now out of the script!" 
  141.       exit 1 
  142.    else 
  143.       echo "libpng ok!" 
  144.       rm -rf libpng*/ 
  145.    fi 
  146. else 
  147.     echo "libpng Already exists!" 
  148. fi 
  149.  
  150.  
  151.  
  152. #jpeg 
  153. if [ ! -d "$dir/libjpeg" ];then 
  154.    tar xzf jpeg*.gz 
  155.    cd  jpeg*/ 
  156.    ./configure --prefix=/usr/local/libjpeg 
  157.    sed -i 's/CFLAGS\= -O2  -I\$(srcdir)/CFLAGS\= -O3 -I\$(srcdir) -fPIC/g' Makefile 
  158.    mkdir -p /usr/local/libjpeg/include 
  159.    mkdir -p /usr/local/libjpeg/lib 
  160.    mkdir -p /usr/local/libjpeg/bin 
  161.    mkdir -p /usr/local/libjpeg/man/man1 
  162.    make && make install-lib && make install 
  163.   cd ../ 
  164.   if [ ! -d "$dir/libjpeg" ];then 
  165.      echo "error! can't install jpeg  please check ! Will now out of the script!" 
  166.      exit 1 
  167.   else 
  168.      echo "libjpeg ok!" 
  169.      rm -rf jpeg*/ 
  170.   fi 
  171. else 
  172.   echo "libjpeg Already exists!" 
  173. fi 
  174.  
  175.  
  176.  
  177. #php5.3 
  178. if [ ! -e "$dir/php" ];then 
  179.    tar zxf php*.tar.gz 
  180.    cd php*/ 
  181.    ./configure --prefix=/usr/local/php  --with-config-file-path=/etc/ \ 
  182.  --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-curl=/usr/local/curl --with-libxml-dir=/usr/include/libxml2 --with-gd \ 
  183.  --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr/local/libpng --with-bz2 --with-freetype-dir=/usr/local/freetype --with-iconv-dir=/usr/local/libiconv \ 
  184.  --with-zlib-dir --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-exif --enable-dba --disable-ipv6 --disable-cgi \ 
  185.  --enable-bcmath --enable-sockets --enable-mbstring --enable-fpm 
  186.    make && make install 
  187.    cd ../ 
  188.    if [ ! -e "$dir/php" ];then 
  189.        echo "error! can't install php  please check ! Will now out of the scri    pt!" 
  190.        exit 1 
  191.    else 
  192.        ! grep 'php' /etc/profile && echo "export PATH=\$PATH:/usr/local/php/bin" >> /etc/profile && source /etc/profile 
  193.        ! grep 'php-fpm' /etc/profile && echo "export PATH=\$PATH:/usr/local/php/sbin" >> /etc/profile && source /etc/profile 
  194.        cp php*/php.ini-development /etc/php.ini 
  195.        cp php*/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 
  196.        chmod 755 /etc/init.d/php-fpm 
  197.        sed -i 's/;pm.start_servers = 20/pm.start_servers = 20/' /usr/local/php/etc/php-fpm.conf.default  
  198.        sed -i 's/;pm.min_spare_servers = 5/pm.min_spare_servers = 5/' /usr/local/php/etc/php-fpm.conf.default  
  199.        sed -i 's/;pm.max_spare_servers = 35/pm.max_spare_servers = 35/' /usr/local/php/etc/php-fpm.conf.default  
  200.        sed -i 's/;pm.max_requests = 500/pm.max_requests = 500/' /usr/local/php/etc/php-fpm.conf.default   
  201.        cp "$dir/php/etc/php-fpm.conf.default" "$dir/php/etc/php-fpm.conf" 
  202.        #rm -rf php*/ 
  203.    fi 
  204. else 
  205.    echo "php is already exists!" 
  206. fi 

 


本文转自 dongnan 51CTO博客,原文链接: http://blog.51cto.com/dngood/629076



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
应用服务中间件 PHP nginx
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
简介: 本教程介绍如何基于 Dragonwell 的 Ubuntu 镜像创建一个运行 Nginx 的 Docker 容器。首先从阿里云容器镜像服务拉取基础镜像,然后编写 Dockerfile 确保 Nginx 作为主进程运行,并暴露 80 端口。最后,在包含 Dockerfile 的目录下构建自定义镜像并启动容器,确保 Nginx 在前台运行,避免容器启动后立即退出。通过 `docker build` 和 `docker run` 命令完成整个流程。
528 25
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
|
关系型数据库 MySQL Shell
MySQL 备份 Shell 脚本:支持远程同步与阿里云 OSS 备份
一款自动化 MySQL 备份 Shell 脚本,支持本地存储、远程服务器同步(SSH+rsync)、阿里云 OSS 备份,并自动清理过期备份。适用于数据库管理员和开发者,帮助确保数据安全。
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
905 90
|
11月前
|
关系型数据库 MySQL Linux
实现MySQL数据库的定时自动备份脚本。
拿走,不谢,这个脚本配方(指引)保证你的数据库数据像蛋糕店一样地天天更新,还能确保老旧的蛋糕(数据)不会堆积满仓库。这下可好,数据安全有保障,数据库管理员也能轻松一点,偶尔闲下来的时候,煮杯咖啡,看个剧岂不美哉?别忘了偶尔检查一下你的自动备份是否正常工作,以防万一蛋糕机器出了点小差错。
613 20
|
应用服务中间件 PHP nginx
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
|
SQL 关系型数据库 MySQL
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
SQL 关系型数据库 MySQL
MySQL数据库中给表添加字段并设置备注的脚本编写
通过上述步骤,你可以在MySQL数据库中给表成功添加新字段并为其设置备注。这样的操作对于保持数据库结构的清晰和最新非常重要,同时也帮助团队成员理解数据模型的变化和字段的具体含义。在实际操作中,记得调整脚本以适应具体的数据库和表名称,以及字段的详细规范。
671 8
|
缓存 监控 算法
分析慢日志文件来优化 PHP 脚本的性能
分析慢日志文件来优化 PHP 脚本的性能

推荐镜像

更多
下一篇
开通oss服务