安装Nginx、MySQL、PHP

概念

LNMP是Linux Nginx MySQL PHP 的简写,把Nginx、MySQL以及PHP安装在Linux系统上,组成一个环境来运行PHP的脚本语言。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Nginx是类似Apache的一种Web服务软件

MySQL是比较小型的数据库软件

Apache和PHP需要在同一台机器上

(先安装c编译语言)

LNMP环境配置(1) Linux 第1张

安装MySQL

切换目录

LNMP环境配置(1) Linux 第2张

下载源码包

LNMP环境配置(1) Linux 第3张

 

 解压

LNMP环境配置(1) Linux 第4张

 给文件改名

LNMP环境配置(1) Linux 第5张

 挪动位置

LNMP环境配置(1) Linux 第6张

 建立MySQL用户

LNMP环境配置(1) Linux 第7张

 创建datadir,数据库文件会放到这里面

LNMP环境配置(1) Linux 第8张

 更改权限

LNMP环境配置(1) Linux 第9张

 可能的安装包(出现错误)

LNMP环境配置(1) Linux 第10张

 

LNMP环境配置(1) Linux 第11张

 

LNMP环境配置(1) Linux 第12张

 

LNMP环境配置(1) Linux 第13张

 最后(出现两个ok)

LNMP环境配置(1) Linux 第14张

复制配置文件

LNMP环境配置(1) Linux 第15张

 配置文件

# vi /etc/my.cnf

LNMP环境配置(1) Linux 第16张

basedir是MySQL包所在路径

datadir是定义的存放数据的地方

port定义MySQL服务监听的端口(默认是3306)

server_id定义ID号

socket定义服务监听的的套接字地址

 

复制启动脚本文件并修改其属性

LNMP环境配置(1) Linux 第17张

 修改启动脚本

# vi /etc/init.d/mysqld

LNMP环境配置(1) Linux 第18张

 把启动脚本加入系统服务项,设定开机启动 

LNMP环境配置(1) Linux 第19张

 检查MySQL是否启动(大于两行)

LNMP环境配置(1) Linux 第20张

 安装PHP

下载PHP

LNMP环境配置(1) Linux 第21张

配置编译选项

./configure \
> --prefix=/usr/local/php-fpm \
> --with-config-file-path=/usr/local/php-fpm/etc \
> --enable-fpm \
> --with-fpm-user=php-fpm \
> --with-fpm-group=php-fpm \
> --with-mysql=/usr/local/mysql \
> --with-mysql-sock=/tmp/mysql.sock \
> --with-libxml-dir \
> --with-gd \
> --with-jpeg-dir \
> --with-png-dir \
> --with-freetype-dir \
> --with-iconv-dir \
> --with-zlib-dir \
> --with-mcrypt \
> --enable-soap \
> --enable-gd-native-ttf \
> --enable-ftp \
> --enable-mbstring \
> --enable-exif \
> --disable-ipv6 \
> --with-pear \
> --with-curl \
> --with-openssl

 

 可能出现的错误

LNMP环境配置(1) Linux 第22张LNMP环境配置(1) Linux 第23张

 编译安装

LNMP环境配置(1) Linux 第24张

修改配置文件

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

# vi  /usr/local/php-fpm/etc/php-fpm.conf

写入以下内容

[global]
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock
listen.mode = 666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files =1024

检验配置是否正确

LNMP环境配置(1) Linux 第25张

 复制配置文件

# cp  /usr/local/src/php-5.6.30/sapi/fpm/init.d.php-fpm   /etc/init.d/php-fpm

设置权限

# chmod  755  /etc/init.d/php-fpm

创建用户

# useradd  -s  /sbin/nologin  php-fpm

启动php-fpm

LNMP环境配置(1) Linux 第26张

设置开机启动

LNMP环境配置(1) Linux 第27张

 检测是否启动

LNMP环境配置(1) Linux 第28张

 

 安装Nginx

下载nginxLNMP环境配置(1) Linux 第29张

 解压

LNMP环境配置(1) Linux 第30张

 配置编译选项

LNMP环境配置(1) Linux 第31张

 

 LNMP环境配置(1) Linux 第32张

 编译和安装

LNMP环境配置(1) Linux 第33张

编写启动脚本

LNMP环境配置(1) Linux 第34张

 加入以下内容

#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings
NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx"
start()
{
    echo -n $"Starting $prog: "
    mkdir -p /dev/shm/nginx_temp
    daemon $NGINX_SBIN -c $NGINX_CONF
    RETVAL=$?
    echo
    return $RETVAL
}
stop()
{
    echo -n $"Stopping $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -TERM
    rm -rf /dev/shm/nginx_temp
    RETVAL=$?
    echo
    return $RETVAL
}
reload()
{
    echo -n $"Reloading $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -HUP
    RETVAL=$?
    echo
    return $RETVAL
}
restart()
{
    stop
    start
}
configtest()
{
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload)
        reload
        ;;
  restart)
        restart
        ;;
  configtest)
        configtest
        ;;
  *)
        echo $"Usage: $0 {start|stop|reload|restart|configtest}"
        RETVAL=1
esac
exit $RETVAL

 

保存后更改权限

 

LNMP环境配置(1) Linux 第35张

 设置开机启动

LNMP环境配置(1) Linux 第36张

 更改配置文件

清空配置文件

LNMP环境配置(1) Linux 第37张

 编写启动脚本

#  vi  /usr/local/nginx/conf/nginx.conf

加入以下内容

user nobody nobody;

worker_processes 2;

error_log /usr/local/nginx/logs/nginx_error.log crit;

pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
    use epoll;
    worker_connections 6000;
}
http
{
    include mime.types;
    default_type application/octet-stream;
    server_names_hash_bucket_size 3526;
    server_names_hash_max_size 4096;
    log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
    ' $host "$request_uri" $status'
    ' "$http_referer" "$http_user_agent"';
    sendfile on;
    tcp_nopush on;
    keepalive_timeout 30;
    client_header_timeout 3m;
    client_body_timeout 3m;
    send_timeout 3m;
    connection_pool_size 256;
    client_header_buffer_size 1k;
    large_client_header_buffers 8 4k;
    request_pool_size 4k;
    output_buffers 4 32k;
    postpone_output 1460;
    client_max_body_size 10m;
    client_body_buffer_size 256k;
    client_body_temp_path /usr/local/nginx/client_body_temp;
    proxy_temp_path /usr/local/nginx/proxy_temp;
    fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
    fastcgi_intercept_errors on;
    tcp_nodelay on;
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 8k;
    gzip_comp_level 5;
    gzip_http_version 1.1;
    gzip_types text/plain application/x-javascript text/css text/htm
    application/xml;
    server
    {
        listen 80;
        server_name localhost;
        index index.html index.htm index.php;
        root /usr/local/nginx/html;
        location ~ \.php$
        {
            include fastcgi_params;
            fastcgi_pass unix:/tmp/php-fcgi.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
                }
        }
}       

检验配置

LNMP环境配置(1) Linux 第38张

 启动nginx

LNMP环境配置(1) Linux 第39张

 检测是否启动

LNMP环境配置(1) Linux 第40张

 测试能否正确解析

LNMP环境配置(1) Linux 第41张

 测试

LNMP环境配置(1) Linux 第42张

 

 

 

 

 

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄