搭建 LNMP 环境

源码包版本 : 

CentOS Linux  7

nginx-1.15.1.tar.gz 

mysql-boost-5.7.21.tar.gz 

php-7.2.7.tar.gz

准备环境依赖包 :

yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel pcre-devel ncurses ncurses-devel bison cmake

安装nginx :

  1. [root@DaMoWang ~]# useradd -M -s /sbin/nologin nginx  # 创建nginx用户
  2. [root@DaMoWang ~]# tar xf nginx-1.15..tar.gz -C /usr/src/
  3. [root@DaMoWang ~]# cd /usr/src/nginx-1.15./
  4. [root@DaMoWang nginx-1.15.]# ./configure \  # 配置 编译 安装
  5. --prefix=/usr/local/nginx \
  6. --sbin-path=/usr/sbin/nginx \
  7. --conf-path=/etc/nginx/nginx.conf \
  8. --error-log-path=/var/log/nginx/error.log \
  9. --http-log-path=/var/log/nginx/access.log \
  10. --pid-path=/var/run/nginx.pid \
  11. --lock-path=/var/run/nginx.lock \
  12. --http-client-body-temp-path=/var/tmp/nginx/client \
  13. --http-proxy-temp-path=/var/tmp/nginx/proxy \
  14. --http-fastcgi-temp-path=/var/tmp/nginx/fcgi \
  15. --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
  16. --http-scgi-temp-path=/var/tmp/nginx/scgi \
  17. --user=nginx \
  18. --group=nginx \
  19. --with-pcre \
  20. --with-http_v2_module \
  21. --with-http_ssl_module \
  22. --with-http_realip_module \
  23. --with-http_addition_module \
  24. --with-http_sub_module \
  25. --with-http_dav_module \
  26. --with-http_flv_module \
  27. --with-http_mp4_module \
  28. --with-http_gunzip_module \
  29. --with-http_gzip_static_module \
  30. --with-http_random_index_module \
  31. --with-http_secure_link_module \
  32. --with-http_stub_status_module \
  33. --with-http_auth_request_module \
  34. --with-mail \
  35. --with-mail_ssl_module \
  36. --with-file-aio \
  37. --with-http_v2_module \
  38. --with-threads \
  39. --with-stream \
  40. --with-stream_ssl_module \
  41. &&make && make install

添加启动脚本:

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

  101. user nginx;
  102. worker_processes ;
  103. events {
  104. worker_connections ;
  105. }
  106. http {
  107. include /etc/nginx/mime.types;
  108. default_type application/octet-stream;
  109. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  110. '$status $body_bytes_sent "$http_referer" '
  111. '"$http_user_agent" "$http_x_forwarded_for"';
  112. access_log /var/log/nginx/access.log main;
  113. server {
  114. listen ;
  115. server_name 192.168.94.111;
  116. location / {
  117. root /var/www/html;
  118. index index.php index.html index.htm;
  119. }
  120. error_page /50x.html;
  121. location = /50x.html {
  122. root /var/www/html;
  123. }
  124. location ~ \.php$ {
  125. root /var/www/html;
  126. fastcgi_pass 192.168.94.111:;
  127. fastcgi_index index.php;
  128. fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
  129. include fastcgi_params;
  130. }
  131. }
  132. sendfile on;
  133. #tcp_nopush on;
  134. keepalive_timeout ;
  135. #gzip on;
  136. include /etc/nginx/conf.d/*.conf;
  137. }
    [root@DaMoWang nginx-1.15.1]# mkdir /var/tmp/nginx/client -p
  1. [root@DaMoWang nginx-1.15.1]# systemctl start nginx

测试:

安装MySQL :

  1. [root@DaMoWang ~]# useradd -M -s /sbin/nologin mysql # 创建mysql用户
  2. [root@DaMoWang ~]# tar xf mysql-boost-5.7..tar.gz -C /usr/src/
  3. [root@DaMoWang ~]# cd /usr/src/mysql-5.7./
  4. [root@DaMoWang mysql-5.7.]# cmake \
  5. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  6. -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
  7. -DSYSCONFDIR=/etc \
  8. -DSYSTEMD_PID_DIR=/usr/local/mysql \
  9. -DDEFAULT_CHARSET=utf8 \
  10. -DDEFAULT_COLLATION=utf8_general_ci \
  11. -DWITH_INNOBASE_STORAGE_ENGINE= \
  12. -DWITH_ARCHIVE_STORAGE_ENGINE= \
  13. -DWITH_BLACKHOLE_STORAGE_ENGINE= \
  14. -DWITH_PERFSCHEMA_STORAGE_ENGINE= \
  15. -DMYSQL_DATADIR=/usr/local/mysql/data \
  16. -DWITH_BOOST=boost \
  17. -DWITH_SYSTEMD= \
  18. && make -j4 && make install
  19. [root@DaMoWang mysql-5.7.]# chown -R mysql.mysql /usr/local/mysql/
  20. [root@DaMoWang mysql-5.7.]# vim /etc/my.cnf
  21.  
  22. [client]
  23. port =
  24. default-character-set=utf8
  25. socket = /usr/local/mysql/mysql.sock
  26.  
  27. [mysql]
  28. port =
  29. default-character-set=utf8
  30. socket = /usr/local/mysql/mysql.sock
  31.  
  32. [mysqld]
  33. user = mysql
  34. basedir = /usr/local/mysql
  35. datadir = /usr/local/mysql/data
  36. port =
  37. character_set_server=utf8
  38. pid-file = /usr/local/mysql/mysqld.pid
  39. socket = /usr/local/mysql/mysql.sock
  40. server-id =
  41.  
  42. [root@DaMoWang mysql-5.7.]# chown mysql.mysql /etc/my.cnf
  43. [root@DaMoWang mysql-5.7.]# echo -e 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' "\nexport PATH" >> /etc/profile
  44. [root@DaMoWang mysql-5.7.]# source /etc/profile
  45. [root@DaMoWang mysql-5.7.]# cd /usr/local/mysql/
  46. [root@DaMoWang mysql]# bin/mysqld \
  47. > --initialize-insecure \
  48. > --user=mysql \
  49. > --basedir=/usr/local/mysql \
  50. > --datadir=/usr/local/mysql/data/
  51.  
  52. [root@DaMoWang mysql]# cp usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
  53. [root@DaMoWang mysql]# systemctl daemon-reload
  54. [root@DaMoWang mysql]# systemctl start mysqld

安装php :

  1. [root@DaMoWang ~]# tar xf php-7.2..tar.gz -C /usr/src
  2. [root@DaMoWang ~]# cd /usr/src/php-7.2./
  3. [root@DaMoWang php-7.2.]# ./configure \
  4. --prefix=/usr/local/php \
  5. --with-config-file-path=/etc \
  6. --enable-fpm \
  7. --with-fpm-user=nginx \
  8. --with-fpm-group=nginx \
  9. --enable-inline-optimization \
  10. --disable-debug \
  11. --disable-rpath \
  12. --enable-shared \
  13. --enable-soap \
  14. --with-libxml-dir \
  15. --with-xmlrpc \
  16. --with-openssl \
  17. --with-mhash \
  18. --with-pcre-regex \
  19. --with-sqlite3 \
  20. --with-zlib \
  21. --enable-bcmath \
  22. --with-iconv \
  23. --with-bz2 \
  24. --enable-calendar \
  25. --with-curl \
  26. --with-cdb \
  27. --enable-dom \
  28. --enable-exif \
  29. --enable-fileinfo \
  30. --enable-filter \
  31. --with-pcre-dir \
  32. --enable-ftp \
  33. --with-gd \
  34. --with-openssl-dir \
  35. --with-jpeg-dir \
  36. --with-png-dir \
  37. --with-zlib-dir \
  38. --with-freetype-dir \
  39. --enable-gd-jis-conv \
  40. --with-gettext \
  41. --with-gmp \
  42. --with-mhash \
  43. --enable-json \
  44. --enable-mbstring \
  45. --enable-mbregex \
  46. --enable-mbregex-backtrack \
  47. --with-libmbfl \
  48. --with-onig \
  49. --enable-pdo \
  50. --with-mysqli=mysqlnd \
  51. --with-pdo-mysql=mysqlnd \
  52. --with-zlib-dir \
  53. --with-pdo-sqlite \
  54. --with-readline \
  55. --enable-session \
  56. --enable-shmop \
  57. --enable-simplexml \
  58. --enable-sockets \
  59. --enable-sysvmsg \
  60. --enable-sysvsem \
  61. --enable-sysvshm \
  62. --enable-wddx \
  63. --with-libxml-dir \
  64. --with-xsl \
  65. --enable-zip \
  66. --enable-mysqlnd-compression-support \
  67. --with-pear \
  68. --enable-opcache \
  69. && make -j4 && make install
  70.  
  71. [root@DaMoWang php-7.2.]# ln -s /usr/local/php/bin/* /usr/local/bin/
  72. [root@DaMoWang php-7.2.7]# php -v
  73. PHP 7.2.7 (cli) (built: Aug 3 2018 01:03:35) ( NTS )
  74. Copyright (c) 1997-2018 The PHP Group
  75. Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
  76.  
  77. [root@DaMoWang php-7.2.7]# cp php.ini-production /etc/php.ini
  78. [root@DaMoWang php-7.2.7]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  79. [root@DaMoWang php-7.2.7]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
  80. [root@DaMoWang php-7.2.7]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
  81. [root@DaMoWang php-7.2.7]# chmod +x /etc/init.d/php-fpm
  82. [root@DaMoWang php-7.2.7]# chkconfig --add php-fpm
  83. [root@DaMoWang php-7.2.7]# vim /usr/local/php/etc/php-fpm.d/www.conf
  84. # 把listen = 127.0.0.0:9000 修改为 listen = 192.168.94.111:9000
  1. [root@DaMoWang php-7.2.7]# systemctl start php-fpm
  1.  

编写测试页面 :

  1. [root@DaMoWang ~]# vim /var/www/html/.php
  2. <?php phpinfo(); ?>

测试 :

  1. [root@DaMoWang ~]# vim /var/www/html/.php
  2. <?php
  3. $link=mysqli_connect('192.168.94.111','damowang','');
  4. if($link) echo "<h1>Success!!</h1>";
  5. else echo "Fail!!";
  6. ?>

授权MySQL用户 :

  1. [root@DaMoWang ~]# mysql -uroot -p
  2. Enter password:
  3. mysql> grant all on *.* to 'damowang'@'%' identified by ''

测试 : 

CentOS 7 源码搭建LNMP环境的更多相关文章

  1. 在CENTOS上源码搭建LNMP环境

    前言 1.操作前提: CentOS Linux release 7.5.1804: sudo用户(需要root权限): 2.需要安装的组件: nginx稳定版:nginx-1.14.0: MariaD ...

  2. 用源码搭建LNMP环境+部署WordPress

    首先要做的是就是关闭Centos7.4的防火墙及selinux #systemctl stop firewalld #systemctl disable firewalld #sed -ri 's/^ ...

  3. 源码搭建LNMP

      源码安装LNMP 作者:尹正杰   版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 前言:非常简单的一个平台LNMP,在生产实际环 ...

  4. Centos 7 下yum搭建lnmp环境(yum安装方式)

    我们都知道linux下安装软件主要有三种方式: 1.源码编译安装,即下载软件源代码,利用gcc g++ make 等编译工具进行编译安装: 此方式的优点:可以指定软件版本,可选择性好:编译时可以手动指 ...

  5. CentOS 6.5 下源码搭建LAMP环境

    参考网站: http://wenku.baidu.com/link?url=Cvkqss2E9mnxXOZigMWPaCfqwsBxnm0sZ4aKE2oLAgQ888XxeC0DWOChxVqiHz ...

  6. 源码搭建lnmp平台

    lnmp平台是指利用linux操作系统,nginx服务器,mysql数据库和php语言搭建高性能web服务器,负载均衡器和邮件代理服务器. 原理图:‘

  7. CentOS 下源码安装LAMP环境

    一.简介 什么是LAMP    LAMP是一种Web网络应用和开发环境,是Linux, Apache, MySQL, Php/Perl的缩写,每一个字母代表了一个组件,每个组件就其本身而言都是在它所代 ...

  8. 终于完成了 源码 编译lnmp环境

    经过了大概一个星期的努力,终于按照海生的编译流程将lnmp环境源码安装出来了 nginx 和php 主要参考 http://hessian.cn/p/1273.html mysql 主要参考 http ...

  9. ubuntu 源码安装 lnmp 环境

    准备篇 下载软件包 1.下载nginx http://nginx.org/download/nginx-1.2.0.tar.gz 2.下载pcre  (支持nginx伪静态) ftp://ftp.cs ...

随机推荐

  1. mac使用minikube

    brew install kubectl 需要加代理! minikube start --vm-driver=xhyve --docker-env HTTP_PROXY=http://your-htt ...

  2. flume的安装部署

    系统环境:centos7.5  64位系统 1.下载安装包 官网下载离线安装包:apache-flume-1.8.0-bin.tar.gz 也可以使用linux命令下载: wget -c http:/ ...

  3. 解决vscode无法提示golang的问题

    https://github.com/Microsoft/vscode-go/wiki/Go-with-VS-Code-FAQ-and-Troubleshooting Q: Auto-completi ...

  4. python一个简单的打包例子

    最近写了一些工具,想到分享给同事时好麻烦,并且自己每次用也是需要打开pycharm这些工具,感觉很麻烦,因此想到打包,网上有些例子,照做后又摸索很久方成,索性记录一下,以备不时之需. 主要参考:htt ...

  5. Java8学习笔记目录

    Java8学习笔记(一)--Lambda表达式 Java8学习笔记(二)--三个预定义函数接口 Java8学习笔记(三)--方法引入 Java8学习笔记(四)--接口增强 Java8学习笔记(五)-- ...

  6. 微信小程序-bug-调用wx.login()无响应的原因和解决方案

    想必,最近有些小程序开发者,在调用wx.login()的时候,在部分IOS上无响应的情况: 补充一点:在测试模式,调试模式,都是OK的,一上正式环境就GG了,百思不得其解啊! 响应结果如下: 在suc ...

  7. Golang 笔记 1 基础、基本数据类型

    一.Go语言基础 1. 基础 Go语言中的标识符必须以字母(Unicode字母,PHP/JS可以用中文作为变量名)下划线开头.大写字母跟小写字母是不同的:Hello和hello是两个不同的名字.  G ...

  8. redis出现错误:NOAUTH Authentication required.

    出现认证问题,应该是设置了认证密码,输入密码既可以啦 注意密码是字符串形式! 127.0.0.1:6379> auth "yourpassword" 127.0.0.1:63 ...

  9. Telerik UI for ASP.NET AJAX控件汉化方法

    Telerik UI for ASP.NET AJAX控件功能十分强大,但原版是英文界面的,不方便一些用户使用. 和.NET的其他控件一样,可以通过资源文件来制作多语言版本. 下面看看安装完成后原始的 ...

  10. Ubuntu 16.04 Java8 安装

    添加ppa apt-get update apt install software-properties-common add-apt-repository ppa:webupd8team/java ...