源码搭建LNMP

Posted 尹正杰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了源码搭建LNMP相关的知识,希望对你有一定的参考价值。

 
                                        源码安装LNMP
                                                                                        作者:尹正杰
 
 
 
前言:非常简单的一个平台LNMP,在生产实际环节中我们也经常用到!
二话不说,开始享受我们的搭建过程吧!
一.源码安装nginx
1.安装依赖包
[[email protected] yinzhengjie]# yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre* make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel
2.获取nginx软件包
[[email protected] yinzhengjie]# wget http://nginx.org/download/nginx-1.9.15.tar.gz
3.源码安装nginx
[r[email protected] yinzhengjie]# useradd nginx -s /sbin/nologin -M
[[email protected] yinzhengjie]# tar -zxvf nginx-1.9.15.tar.gz
[[email protected] yinzhengjie]# cd nginx-1.9.15
[email protected] nginx-1.9.15]# ./configure --prefix=/usr/local/product/nginx1.9.14 --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre
[[email protected] nginx-1.9.15]# make -j 4 && make install
4.编辑nginx配合文件,使其支持fastcgi功能
[[email protected]bogon yinzhengjie]# cd /usr/local/nginx/conf/
[[email protected] conf]# cp nginx.conf nginx.conf.`date +%F` 备份配置文件
[[email protected] conf]# vim nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
 
}
}
5.编写Nginx启动脚本
[[email protected] nginx-1.9.15]# cd /etc/init.d/
[[email protected] init.d]# vim nginx
#!/bin/bash
#chkconfig: 2345 89 89
#Description:This is Nginx web script"
PID="/usr/local/nginx/logs/nginx.pid"
start(){
        /usr/local/nginx/sbin/nginx
        if [ $? -eq 0 ];then
                echo -en "Starting Nginx...\t\t\t["
                echo -en "\033[32;34mOK\033[0m"
                echo "]"
        else
                echo "Starting Nginx Error"
        fi
}
stop(){
        /usr/local/nginx/sbin/nginx -s stop
        if [ $? -eq 0 ];then
                echo -en "Stop Nginx...\t\t\t["
                echo -en "\033[32;34mOK\033[0m"
                echo "]"
        else
                echo "Stop Nginx Error"
        fi
}
status(){
        if [ -f $PID ];then
                ID=$(cat $PID)
                echo "Ngix($ID) is running..."
        else
                echo "Nginx is stop"
        fi
}
case $1 in
start)
        start;;
stop)
        stop;;
restart)
        stop
        start
        ;;
status)
        status;;
*)
        echo "Usage:$0 {start|stop|restart|status}"
esac
5.启动nginx
[[email protected] init.d]# service nginx start
Starting Nginx... [OK]
二.源码安装php
链接:http://pan.baidu.com/s/1c14SaIk 密码:xwox
[[email protected] yinzhengjie]# yum -y install lrzsz (安装上传工具)
利用上传工具将源码包上传到服务器
2.源码安装php
[[email protected] yinzhengjie]# tar -zxvf php-5.5.35.tar.gz
[[email protected] yinzhengjie]# cd php-5.5.35
[[email protected] php-5.5.35]# ./configure --prefix=/usr/local/product/php-5.5.35 --with-config-file-path=/usr/local/product/php-5.5.35/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
[[email protected] php-5.5.35]# make -j 4 && make install
[[email protected] php-5.5.35]# ln -s /usr/local/product/php-5.5.35 /usr/local/php
[[email protected] php-5.5.35]# cp php.ini-production /usr/local/php/etc/php.ini
[[email protected] php-5.5.35]# cd /usr/local/php/etc/
[[email protected] php-5.5.35]# cp php-fpm.conf.default php-fpm.conf
[[email protected] etc]# vim php.ini
需要修改以下几个参数:
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = PRC
4.启动PHP服务
[[email protected] sbin]# cd /usr/local/php/sbin/
[[email protected] sbin]# ./php-fpm
5.检查php是否启动成功
[[email protected] yinzhengjie]# netstat -untalp | grep :9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 103859/php-fpm
[[email protected] yinzhengjie]#
三.源码安装mysql
1.创建mysql用户
[[email protected] yinzhengjie]# groupadd mysql
[[email protected] yinzhengjie]# mkdir -pv /yinzhengjie/data/mysql
[[email protected] yinzhengjie]# useradd -r -g mysql -d /yinzhengjie/data/mysql/ -s /sbin/nologin mysql
2.获取mysql软件包
3更换国内阿里云源
[[email protected] yinzhengjie]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[[email protected] yinzhengjie]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
[[email protected] yinzhengjie]# yum clean all
[[email protected] yinzhengjie]# yum makecache
4.安装依赖包
[[email protected] yinzhengjie]# yum -y install cmake gcc* ncurses-devel
5.源码安装mysql
[[email protected] yinzhengjie]# tar -zxvf mysql-5.5.49.tar.gz
[[email protected] yinzhengjie]# cd mysql-5.5.49
[[email protected] mysql-5.5.49]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/yinzhengjie/data/mysql -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DDEFAULT_COLLATION=utf8_general_ci
[[email protected] mysql-5.5.49]# chown -R mysql.mysql /usr/local/mysql
[[email protected] mysql-5.5.49]# cd /usr/local/mysql/support-files/
6.拷贝mysql配置文件
[[email protected] support-files]# cp my-medium.cnf /yinzhengjie/data/mysql/my.cnf
[[email protected] support-files]# cp mysql.server /etc/init.d/mysqld
[[email protected] support-files]# chmod +x /etc/init.d/mysqld
7.初始化mysql
[[email protected] support-files]# cd /usr/local/mysql/scripts
[[email protected] scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/yinzhengjie/data/mysql/
8.修改mysql的数据目录
[[email protected] yinzhengjie]# cd /yinzhengjie/ && more /etc/my.cnf
[mysqld]
datadir=/yinzhengjie/data/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[[email protected] yinzhengjie]# mkdir -pv /var/lib/mysql/ && ln -s /tmp/mysql.sock /var/lib/mysql/
9.启动mysql
[[email protected] yinzhengjie]# service mysqld start
[[email protected] yinzhengjie]# ln -s /usr/local/mysql/bin/mysql /usr/bin/
[[email protected] yinzhengjie]# ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/
[[email protected] yinzhengjie]# mysqladmin -uroot password "yinzhengjie"
10.登陆数据库创建一个zabbix库
 
[[email protected] yinzhengjie]# mysql -pyinzhengjie
mysql> create database zabbix default charset utf8;
mysql> grant all privileges on zabbix.* to [email protected]‘localhost‘ identified by ‘zabbix‘;
mysql> flush privileges;
mysql> show databases;
mysql> quit
致此:源码搭建LNMP平台完成~
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

以上是关于源码搭建LNMP的主要内容,如果未能解决你的问题,请参考以下文章

LNMP架构搭建论坛

源码包搭建LNMP环境

LNMP环境搭建记录(源码方式)

CentOS 7.0源码包搭建LNMP 实际环境搭建

2-21-源码编译搭建LNMP环境

2-25 源码编译搭建LNMP环境