centos6源码编译安装lnmp环境

操作系统 版本

64位 CentOS-6.6    10.0.0.20

安装环境所需依赖包

yum -y install gcc automake autoconf libtool make gcc-c++ glibc libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel pcre pcre-devel libmcrypt libmcrypt-devel cmake

pcre、openssl、zlib是安装nginx时需要的 
cmake是安装mysql时需要的

 

lnmp 是 linux+nginx+mysql+php 的缩写

一.编译安装mysql

  1. 上传下载mysql到/tmp

[root@manager tmp]# rz
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring mysql-5.5.32-linux2.6-x86_64.tar.gz...
100% 182346 KB 20260 KB/sec 00:00:09 0 Errors

  1. 解压
[root@manager tmp]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz 
  1. 把解压完的数据移动到/usr/local/mysql
[root@manager tmp]# mv mysql-5.5.32-linux2.6-x86_64 /usr/local/mysql
  1. 建立mysql用户
[root@manager tmp]# useradd -s /sbin/nologin mysql
  1. 初始化数据库

[root@manager tmp]# useradd -s /sbin/nologin mysql
[root@manager tmp]# cd /usr/local/mysql/
[root@manager mysql]# mkdir -p /data/mysql;chown -R mysql:mysql /data/mysql
[root@manager mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
WARNING: The host 'manager' could not be looked up with resolveip.
This probably means that your libc libraries are not 100 % compatible
with this binary MySQL version. The MySQL daemon, mysqld, should work
normally with the exception that host name resolving will not work.
This means that you should use IP addresses instead of hostnames
when specifying MySQL privileges !
Installing MySQL system tables...
OK
Filling help tables...
OK

--user 定义数据库的所属主, --datadir 定义数据库安装到哪里,建议放到大空间的分区上,这个目录需要自行创建。这一步骤很关键,如果你看到两个 “OK” 说明执行正确,否则请仔细查看错误信息。

[root@manager mysql]# cp support-files/my-large.cnf /etc/my.cnf 

 

  1. 拷贝启动脚本文件并修改其属性

[root@manager mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@manager mysql]# chmod 755 /etc/init.d/mysqld

 

  1. 修改启动脚本
[root@localhost mysql]# vim /etc/init.d/mysqld
需要修改的地方有 “datadir=/data/mysql” (前面初始化数据库时定义的目录)

 

 

  1. 把启动脚本加入系统服务项,并设定开机启动,启动mysql
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# service mysqld start
如果启动不了,请到 /data/mysql/ 下查看错误日志,这个日志通常是主机名.err. 检查mysql是否启动的命令为:

[root@localhost mysql]# ps aux |grep mysqld

 

二.编译安装nginx

1.下载nginx的源码包

wget -P /tmp http://nginx.org/download/nginx-1.8.1.tar.gz   #指定下载保存到/tmp目录下

2.解压安装

 
  

[root@manager ~]# cd /tmp/
[root@manager tmp]# tar xf nginx-1.8.1.tar.gz

[root@manager tmp]# cd nginx-1.8.1
[root@manager nginx-1.8.1]# ./configure --help(查看参数)

3、编译nginx 
如果指定用户和用户组,需要先创建

#创建用户www和用户组www
groupadd www
useradd -g www www

4.指定参数编译安装

cd nginx-1.4.4
./configure \
--prefix=/usr/local/nginx \
--with-http_realip_module \
--with-http_sub_module \
--with-http_gzip_static_module \
--with-http_stub_status_module  \
--with-pcre
[root@manager nginx-1.8.1]# make && make install

5.编写nginx启动脚本,并加入系统服务

vim /etc/init.d/nginx 
#!/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

保存后,更改权限:

chmod 755 /etc/init.d/nginx
chkconfig --add nginx

如果想开机启动,请执行:

chkconfig nginx on

6.更改nginx配置

更改nginx配置
首先把原来的配置文件清空(先备份):

> /usr/local/nginx/conf/nginx.conf


vim /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;
    }

}

}

检查是否有错

[root@manager nginx-1.8.1]# /etc/init.d/nginx configtest
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

登陆网页检验是否成功

 

三.编译安装php 

 

  1. 下载php
[root@manager ~]# wget -P /tmp http://am1.php.net/distributions/php-5.3.27.tar.gz
  1. 解压php
[root@localhost src]# tar zxf php-5.3.27.tar.gz
  1. 创建相关账户
[root@nginx tmp]# useradd -s /sbin/nologin php-fpm

 

  1. 配置编译参数
[root@manager tmp]# cd php-5.3.27
[root@manger php-5.3.27]# ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/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 \
--enable-zend-multibyte \
--disable-ipv6 \
--with-pear \
--with-curl \
--with-openssl

 5.编译安装

make  && make install

 

6. 修改配置文件

cp php.ini-production /usr/local/php/etc/php.ini
vim /usr/local/php/etc/php-fpm.conf
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock
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

保存配置文件后,检验配置是否正确的方法为:

/usr/local/php/sbin/php-fpm -t
[12-Mar-2018 07:37:02] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful
# 如果出现诸如 “test is successful” 字样,说明配置没有问题。

7.启动php-fpm

cp /tmp/php-5.3.27/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod 755 /etc/init.d/php-fpm
service php-fpm start

如果想让它开机启动,执行:

chkconfig php-fpm on

 

检测是否启动:

ps aux |grep php-fpm
看看是不是有很多个进程(大概20多个)。

 

测试是否解析php文件

创建测试文件:

vim /usr/local/nginx/html/2.php

 

内容如下:

<?php
    echo "测试php是否解析";
?>

 

测试:

[root@manager ~]# curl localhost/2.php
测试php是否解析[root@manager ~]#

 

 

转载于:https://www.cnblogs.com/benjamin77/p/8552562.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
源码编译部署LNMP是指在Linux系统上使用Nginx、MySQL和PHP这三个开源软件进行Web服务的搭建LNMP的含义是Linux Nginx Mysql PHP源码编译部署LNMP架构的步骤如下: 1. 首先,确保已经安装了gcc、gcc-c、pcre-devel、zlib-devel和make等必要的工具和依赖库。可以使用以下命令进行安装:yum -y install gcc gcc-c pcre-devel zlib-devel make。 2. 下载并安装Nginx:从Nginx官网或者其他可信赖的网站下载Nginx的源码包,并解压。进入解压后的目录,执行以下命令进行编译安装:./configure --prefix=/usr/local/nginx && make && make install。这将会将Nginx安装到/usr/local/nginx目录下。 3. 下载并安装MySQL:从MySQL官网或者其他可信赖的网站下载MySQL的源码包,并解压。进入解压后的目录,执行以下命令进行编译安装:./configure --prefix=/usr/local/mysql && make && make install。这将会将MySQL安装到/usr/local/mysql目录下。 4. 下载并安装PHP:从PHP官网或者其他可信赖的网站下载PHP源码包,并解压。进入解压后的目录,执行以下命令进行编译安装:./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-openssl && make && make install。这将会将PHP安装到/usr/local/php目录下,并与MySQL进行关联。 5. 配置Nginx:进入Nginx安装目录,编辑nginx.conf文件,设置服务器监听的端口和网站的根目录等配置项。保存并退出文件。 6. 启动LNMP服务:依次启动Nginx、MySQL和PHP的服务,可以使用以下命令:/usr/local/nginx/sbin/nginx、/usr/local/mysql/bin/mysqld_safe、/usr/local/php/sbin/php-fpm。 7. 测试Web服务:可以在浏览器中输入服务器的IP地址或域名,并访问相应的网页,以检查LNMP的部署是否成功。 综上所述,源码编译部署LNMP架构的步骤包括安装必要的工具和依赖库、下载并安装Nginx、MySQL和PHP、配置Nginx、启动LNMP服务和测试Web服务。通过这些步骤,可以搭建起一个基于LNMP的Web服务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Linux LNMP Web服务源码编译部署手册](https://download.csdn.net/download/machen_smiling/11135787)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [基于Centos7.5的源码编译部署LNMP架构](https://blog.csdn.net/weixin_41843699/article/details/94052153)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [源码编译安装LNMP](https://blog.csdn.net/GaLiCHaoFan1/article/details/126534182)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值