阿里云centos6.9环境配置安装lnmp

mysql安装
  1. 本人博客:http://www.cnblogs.com/frankltf/p/8615418.html
PHP安装
  • 1、安装依赖关系

    yum install libmcrypt libmcrypt-devel mcrypt mhash

    在这个过程中遇到yum安装mcrypt错误:No package php-mcrypt available,解决方法如下:

    yum install epel-release //扩展包更新包

    yum update //更新yum源

    yum install libmcrypt libmcrypt-devel mcrypt mhash

  • 2.下载并编译安装php

  1. wget http://cn2.php.net/distributions/php-5.6.32.tar.gz
  2. tar zxvf php-5.6.32.tar.gz
  3. cd php-5.6.32
  4. ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts
  • 3.在执行第二步的配置文件设置过程中可能会遇到很多报错,大部分原因是因为缺少相关依赖包造成的,只需要安装相应的依赖包即可继续。

  • 4.配置

    修改fpm配置php-fpm.conf.default文件名称

    mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

    复制php.ini配置文件

    cp php.ini-production /usr/local/php/etc/php.ini

    复制php-fpm启动脚本到init.d

    cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

    赋予执行权限

    chmod +x /etc/init.d/php-fpm

    添加为启动项

    chkconfig --add php-fpm

    设置开机启动

    chkconfig php-fpm on

    按照标准,给php-fpm创建一个指定的用户和组

    创建群组

    groupadd www

    创建一个用户,不允许登陆和不创主目录

    useradd -s /sbin/nologin -g www -M www

    立即启动php-fpm

    /etc/init.d/php-fpm start

    ln -s /usr/local/php/bin/php /usr/bin/php

PHP安装完毕!

安装Nginx1.8.0
  • 1.准备工作

    添加用户与属组:

    groupadd -r nginx

    useradd -s /sbin/nologin -g nginx -M nginx

    创建目录:

    mkdir -pv /var/tmp/nginx/client/

    下载:

    wget http://nginx.org/download/nginx-1.8.0.tar.gz

    解压安装包

    tar zxvf nginx-1.8.0.tar.gz

    cd nginx-1.8.0

  • 2.编译安装

    ./configure

    --prefix=/usr/local/nginx

    --sbin-path=/usr/local/nginx/sbin/nginx

    --conf-path=/usr/local/nginx/conf/nginx.conf

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

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

    --pid-path=/var/run/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/

    --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi

    --http-scgi-temp-path=/var/tmp/nginx/scgi

    --with-pcre

    注意:若报错./configure: error: the HTTP rewrite module requires the PCRE library,执行:

    yum -y install pcre-devel

    这里要特别注意sbin、conf、pid、local的path要和后续的控制脚本保持一致!

    make && make install

  • 3.为Nginx提供SysV init脚本

vim /etc/init.d/nginx

  1. #!/bin/sh
  2. #
  3. # nginx - this script starts and stops the nginx daemin
  4. #
  5. # chkconfig: - 85 15
  6. # description: Nginx is an HTTP(S) server, HTTP(S) reverse \
  7. # proxy and IMAP/POP3 proxy server
  8. # processname: nginx
  9. # config: /usr/local/nginx/conf/nginx.conf
  10. # pidfile: /var/run/nginx.pid
  11. # Source function library.
  12. . /etc/rc.d/init.d/functions
  13. # Source networking configuration.
  14. . /etc/sysconfig/network
  15. # Check that networking is up.
  16. [ "$NETWORKING" = "no" ] && exit 0
  17. nginx="/usr/local/nginx/sbin/nginx"
  18. prog=$(basename $nginx)
  19. NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf "
  20. lockfile="/var/lock/nginx.lock"
  21. start() {
  22. [ -x $nginx ] || exit 5
  23. [ -f $NGINX_CONF_FILE ] || exit 6
  24. echo -n $"Starting $prog: "
  25. daemon $nginx -c $NGINX_CONF_FILE
  26. retval=$?
  27. echo
  28. [ $retval -eq 0 ] && touch $lockfile
  29. return $retval
  30. }
  31. stop() {
  32. echo -n $"Stopping $prog: "
  33. killproc $prog -QUIT
  34. retval=$?
  35. echo
  36. [ $retval -eq 0 ] && rm -f $lockfile
  37. return $retval
  38. }
  39. restart() {
  40. configtest || return $?
  41. stop
  42. start
  43. }
  44. reload() {
  45. configtest || return $?
  46. echo -n $"Reloading $prog: "
  47. killproc $nginx -HUP
  48. RETVAL=$?
  49. echo
  50. }
  51. force_reload() {
  52. restart
  53. }
  54. configtest() {
  55. $nginx -t -c $NGINX_CONF_FILE
  56. }
  57. rh_status() {
  58. status $prog
  59. }
  60. rh_status_q() {
  61. rh_status >/dev/null 2>&1
  62. }
  63. case "$1" in
  64. start)
  65. rh_status_q && exit 0
  66. $1
  67. ;;
  68. stop)
  69. rh_status_q || exit 0
  70. $1
  71. ;;
  72. restart|configtest)
  73. $1
  74. ;;
  75. reload)
  76. rh_status_q || exit 7
  77. $1
  78. ;;
  79. force-reload)
  80. force_reload
  81. ;;
  82. status)
  83. rh_status
  84. ;;
  85. condrestart|try-restart)
  86. rh_status_q || exit 0
  87. ;;
  88. *)
  89. echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
  90. exit 2
  91. esac

类似的脚本网上很多,注意config、pid、sbin的路径保持和编译一致即可。

在这一步中遇到一个困扰了很久的错误,pid文件的丢失,尝试了网上很多方法都未解决,最终解决方法:将/etc/init.d/nginx文件中的# pidfile: /var/run/nginx/nginx.pid 改成 # pidfile: /var/run/nginx.pid ,因为每次终止nginx进程都会删除nginx.pid文件及其nginx文件夹,但是在重启时并不会在/var/run/下创建nginx文件夹,于是最简单的解决方案就是重新安装,并将pid路径改为 /var/run/nginx.pid。

  • 4.配置

    chmod +x /etc/init.d/nginx

    chkconfig --add nginx

    chkconfig nginx on

    然后就可以启动服务了

    systemctl restart nginx.service



    /etc/init.d/nginx start

    Nginx安装完毕 ,下面开始整合Nginx与PHP
整合Nginx与PHP

1、编辑Nginx.conf,启用如下选项:

cd /usr/local/nginx/conf/

vim nginx.conf

修改如下:

  1. user nginx nginx;
  2. location / {
  3. root /home/www;
  4. index index.php index.html index.htm;
  5. }
  6. location ~ \.php$ {
  7. root /home/www;
  8. fastcgi_pass 127.0.0.1:9000;
  9. fastcgi_index index.php;
  10. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  11. include fastcgi_params;
  12. }

重新载入配置

/etc/init.d/nginx reload

或者

service nginx restart

2、在设置的网站root目录下新建index.php测试页面

可通过浏览器 访问此测试页面,可验证nginx连接php配置成功。

注意:若是连接超时可能是防火墙阻隔了80端口,可使用上面mysql开放3306端口的方式开放80端口。

至此,CenOS下LNMP环境搭建完毕!

参考:http://blog.csdn.net/guwuhui123/article/details/69943295

linux--->阿里云centos6.9环境配置安装lnmp的更多相关文章

  1. 阿里云centos6.5实践编译安装LNMP架构web环境

    LNMP 代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. 本次测试需求: **实践centos6.5编译安装 LNMP生产环境 架构 web生产环境 使用 ngx_pa ...

  2. 阿里云服务器Node环境配置

    最近,将网站的阿里云服务器迁移到阿里云北京机房,记录下CentOS的迁移过程. 首次登录云服务器,要先进行用户设置. 用户设置 首先用passwd命令修改超级管理员root密码. $ passwd 根 ...

  3. 在阿里云的CentOS环境中安装django

    购买了一台阿里云主机.操作系统为CentOS 6.5.准备在上面跑Django做Web开发.因为CentOS自带的python版本号较低,安装Django先要安装新版本号python.还是费了点周折. ...

  4. 阿里云三台CentOS7.2配置安装CDH5.12

    1 购买3台阿里云服务 2 配置好ssh连接客户端 根据自己情况连接 3 安装好MySQL5.7 跳过,见之前博客 安装在hadoop001上 4 设置好Hosts文件 3台机器同时操作 vim /e ...

  5. 阿里云服务器centos7环境下安装xampp后,mysql有进程,但是却没有监听3306端口

    配置阿里云服务器centos7中xampp环境时出现了一种情况: 在centos中可以使用命令进入mysql 修改后也可以远程用phpmyadmin连接mysql 但是用navicat却无法连接 先修 ...

  6. 在阿里云的CentOS环境中安装配置MySQL、JDK、Maven

    Welcome to Alibaba Cloud Elastic Compute Service ! [root@izbp19stm1x1k2io1e7r3tz ~]# rpm -Uvh http:/ ...

  7. 阿里云主机Nginx下配置NodeJS、Express和Forever

    https://cnodejs.org/topic/5059ce39fd37ea6b2f07e1a3 AngularJS中文社区即运行在阿里云主机上,本站使用Nginx引擎,为了AngularJS,我 ...

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

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

  9. 阿里云CentOS6上配置iptables

    参考:http://blog.abv.cn/?p=50 阿里云CentOS6默认没有启动iptables 1.检查iptables状态 [root@iZ94jj63a3sZ ~]# service i ...

随机推荐

  1. Visio日程安排图

    黄日历: 怎么创建呢? 首先找到日程安排图表 然后找到日历 这就是日历的形状模块 拖动“日”日历形状进行创建 创建好的日历通过右键单击选择"配置"来修改日期 这是周日历 与日日历不 ...

  2. 优雅的使用BeanUtils对List集合的操作

    摘要 在业务员流程的时候,我们在Entity.Bo.Vo层数据间可能经常转换数据,Entity对应的是持久层数据结构(一般是数据库表的映射模型).Bo对应的是业务层操作的数据结构.Vo就是Contro ...

  3. 全网最详细的Ceph14.2.5集群部署及配置文件详解,快来看看吧! -- <2>

    部署Ceph集群 Ceph版本选择 Ceph版本来源介绍 Ceph 社区最新版本是 14,而 Ceph 12 是市面用的最广的稳定版本. 第一个 Ceph 版本是 0.1 ,要回溯到 2008 年 1 ...

  4. Redis实战 | 持久化、主从复制特性和故障处理思路

    前言 前面两篇我们了解了Redis的安装.Redis最常用的5种数据类型.本篇总结下Redis的持久化.主从复制特性,以及Redis服务挂了之后的一些处理思路. 前期回顾传送门: Linux下安装Re ...

  5. 学以致用,react学习前奏准备阶段

    ReactJS:支持React开发,提供JSX代码提示,高亮显示,ReactJS官方介绍 1.cdm→  componentDidMount: fn() { ... }   cdm 2.cdup→  ...

  6. 使用iview遇到问题记录总结

    1.iview设置日期不可用,设置开始开始时间早于结束时间 官网示例,设置今天之前不可选,但是不能识别thisdisabledDate (date) { return date && ...

  7. “土法炮制”之 OOM框架

    一.什么是OOM框架? OOM 的全拼是 Object-Object-Map,意思是对象与对象之间的映射,OOM框架要解决的问题就是对象与对象之间数据的自动映射. 举一个具体的例子:用过MVC模式开发 ...

  8. Java 用链表实现栈和队列

    栈 是一种基于后进先出(LIFO)策略的集合类型.当邮件在桌上放成一叠时,就能用栈来表示.新邮件会放在最上面,当你要看邮件时,会一封一封从上到下阅读.栈的顶部称为栈顶,所有操作都在栈顶完成. 前面提到 ...

  9. nor flash之擦除和写入

    最近研究了下nor flash的掉电问题,对nor的掉电有了更多的认识.总结分享如下 擦除从0变1,写入从1变0 nor flash的物理特性是,写入之前需要先进行擦除.擦除后数据为全0xFF,此时写 ...

  10. 递推 dp

    工大要建新教学楼了,一座很高很高的楼,它有n层.学校为了减少排电梯的队伍,建造了好多好多电梯,共有m个.为了让电梯有序,学校给每个电梯设定了独特的可停楼层,如 x1 x2 y1 y2 表示,x1楼层到 ...