欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

LNMP环境配置

程序员文章站 2022-03-25 18:01:15
概念 LNMP是Linux Nginx MySQL PHP 的简写,把Nginx、MySQL以及PHP安装在Linux系统上,组成一个环境来运行PHP的脚本语言。 Nginx是类似Apache的一种Web服务软件 MySQL是比较小型的数据库软件 Apache和PHP需要在同一台机器上 (先安装c编 ......

概念

lnmp是linux nginx mysql php 的简写,把nginx、mysql以及php安装在linux系统上,组成一个环境来运行php的脚本语言。

nginx是类似apache的一种web服务软件

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

apache和php需要在同一台机器上

(先安装c编译语言)

LNMP环境配置

安装mysql

切换目录

LNMP环境配置

下载源码包

LNMP环境配置

 

 解压

LNMP环境配置

 给文件改名

LNMP环境配置

 挪动位置

LNMP环境配置

 建立mysql用户

LNMP环境配置

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

LNMP环境配置

 更改权限

LNMP环境配置

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

LNMP环境配置

 

LNMP环境配置

 

LNMP环境配置

 

LNMP环境配置

 最后(出现两个ok)

LNMP环境配置

复制配置文件

LNMP环境配置

 配置文件

# vi /etc/my.cnf

LNMP环境配置

basedir是mysql包所在路径

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

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

server_id定义id号

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

 

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

LNMP环境配置

 修改启动脚本

# vi /etc/init.d/mysqld

LNMP环境配置

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

LNMP环境配置

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

LNMP环境配置

 安装php

下载php

LNMP环境配置

配置编译选项

./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环境配置LNMP环境配置

 编译安装

LNMP环境配置

修改配置文件

# 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环境配置

 复制配置文件

# 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环境配置

设置开机启动

LNMP环境配置

 检测是否启动

LNMP环境配置

 

 安装nginx

下载nginxLNMP环境配置

 解压

LNMP环境配置

 配置编译选项

LNMP环境配置

 

 LNMP环境配置

 编译和安装

LNMP环境配置

编写启动脚本

LNMP环境配置

 加入以下内容

#!/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环境配置

 设置开机启动

LNMP环境配置

 更改配置文件

清空配置文件

LNMP环境配置

 编写启动脚本

#  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环境配置

 启动nginx

LNMP环境配置

 检测是否启动

LNMP环境配置

 测试能否正确解析

LNMP环境配置

 测试

LNMP环境配置