lnmp环境

一.nginx的编译。

1. 到官网 找到自己想要的nginx版本

wget http://nginx.org/download/nginx-1.7.8.tar.gz 然后解压 tar zxvf nginx-1.7.8.tar.gz cd到解压后的nginx, 编译nginx前需要下载pcre库和zlib库,编辑./configure --prefix=/usr/local/nginx 编译过程中可能会遇到重写模块会需要PCRE库

cd 到下载nginx的目录。wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.bz2  他是bz2结尾的  解压用 tar jxvf pcre-8.37.tar.bz2。(nginx编译中还会需要zlib这个库,我们可以直接用yum安装  yum install zlib)<这里用yum安装这个库,安装过程中,linux提示已经是安装了的。不能安装。我们用yum安装一些库或软件的时候,可能会遇到这个问题。还需要安装对应库的开发包
yum install zlib-devel(某个软件-devel)>

解压后重新编译nginx   cd到解压后的nginx的目录里  ./configure --prefix=/usr/local/nginx/ \

--with-pcre=/usr/local/src/pcre-8.37(安装的时候带上pcre库的具体地址)

2.make && makeinstall  自动安装

3.cd nginx目录 ./sbin/nginx 启动nginx服务 (./sbin/nginx -s reload 重启nginx)访问服务器的ip查看nginx是否启动成功, (netstat -antlp |grep 80:查看当前80端口是谁在使用)



服务器中如果Apache  nginx都有,Apache会把nginx所需要的80端口占用。可用 ps aux命令查看进程 然后pkill -9 httpd (这了的数字-9是无论如何都杀死进程)有时nginx服务开启失败也会有防火墙的原因

service iptables stop/start/restart

pkill 杀死某个正在运行的进程

配置conf,指向项目路径:

server {

listen 80;

server_name www.pmd.space;

#access_log  logs/demo.phalconplus.access.log  main;

index index.php index.html index.htm;

set $root_path ‘/data/think‘;

root $root_path;

try_files $uri $uri/ @rewrite;

location @rewrite {

rewrite ^/(.*)$ /index.php?_url=/$1 last;

}

location ~ \.php {

fastcgi_pass 127.0.0.1:9000;

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

}

location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {

root $root_path;

}

location ~ /\.ht {

deny all;

}

}

新建一个conf文件写入以上内容,include进nginx.conf里面。修改各项配置。运行。



二.下载php

wget http://cn2.php.net/distributions/php-5.6.16.tar.gz (这里注意了,我们直接在php官网下载的链接可能是一个跳转脚本链接,在linux下会导致下载的php压缩包打不开)

    编译php之前需要一系列的库文件,yum install libxml2 libxml2-devel bzip2 bzip2-devel gd gd-devel libpng libpng-devel ncurses ncurses-devel libcurl libcurl-devel libmcrypt libmcrypt-devel。

    进入到php目录,

./configure --prefix=/usr/local/php  --enable-fpm --with-mcrypt=/usr/local/lib/mcrypt \

--enable-mbstring --disable-pdo --with-curl --disable-debug  --disable-rpath \

--enable-inline-optimization --with-bz2  --with-zlib --enable-sockets \

--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex \

--with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli \

--with-gd --with-jpeg-dir --with-openssl

(主要说明,安装目录在哪里,需要安装一些什么库)    cd进入到安装好的php目录,把etc下的php-fpm.conf.default 复制一         修改php-fpm.conf,user=nobody,group=nobody。并把php.fpm.conf中的pid=run/php-fpm.conf前面的注释去掉,都修改为www-data,然后新建用户组www-data,用户www-data

          cd 到php解压目录 cp php.ini-production /usr/local/php/lib。

cd进入到安装目录中的sbin目录,启动php服务

        整合php和nginx,vim nginx/conf/nginx.conf  把匹配.php结尾的代码注释删除掉 ,把nginx收到访问php的地址改为自己php所在地址,更改php文件目录到对应的目录,可以在nginx下的html创建一个index.php 内容: 看是否能输出以及php.ini信息  确定配置是否生效。

        三编译mysql

        msyql5.5之后编译都需要用的到cmake,我们需要先安装, yum -y install cmake ncurses ncurses-devel。

        然后下载mysql,下载mysql的时候,注意版本的选择,一些版本可能会没有Cmakelists.txt文件,会导致编译出错,链接:http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.46.tar.gz

        然后输入命令进行编译,安装目录以及所需的一些配置文件:

        cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DMYSQL_TCP_PORT=3306 \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/run/mysql.sock \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_SSL=yes

没报错就 make && make install 。创建用户组和一个用户名 groupadd mysql,useradd mysql 。

然后改变安装目录下所有文件的用户及组为「mysql] chown -R mysql .  chgrp -R mysql .

接着初始化数据库并设定安装目录:./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql

然后将目录的所有文件的所属用户改为「root」,接着将目录「data」的所属用户改为「mysql」

chown root  .     chown -R mysql data

把mysql安装目录中的配置文件拷贝一份重命名 cp support-files/my-medium.cnf /etc/my.cnf

接着启动mysql守护进程:mysql   bin/mysqld_safe --user=mysql &。这一步会在mysql目录下产生之前编译设定的run目录文件夹(这一步有可能会出错,我测试的时候[ERROR] /usr/local/mysql/bin/mysqld: Can‘t create/write to file ‘/var/run/mysqld/mysqld.pid‘ (Errcode: 2)是因为自己没创建目录导致找不到,新建一个文件之后,把文件归属用户设置为mysql
。如果产生了run目录,而里面没有mysql.sock文件,我们看看run目录的权限,更改为mysql用户mysql组。重新初始化数据库和开启mysql守护进程)

    ./bin/mysqladmin -u root password ‘123456‘为自己的root用户设置密码。
    连接数据库:./bin/mysql -u root -p
时间: 2024-10-29 10:45:43

lnmp环境的相关文章

搭建lnmp环境,部署php动态网站

搭建LNMP 前言:"N"代表Nginx与apache的作用一样,都是为了搭建网站服务器,由俄罗斯人lgor sysoev开发,其特点是占有内存少,并发能力强,单台物理服务器可支持3万-5万个并发请求,中国使用nginx网站用户有:百度.京东.新浪.网易.腾讯.淘宝等. 通过下面的实验搭建LNMP环境,部署天空影城的php动态网站 本实验在虚拟机中运行,使用Redhat6.5系统部署! 一.安装及运行 1.搭建yum仓库,安装支持软件 nginx的配置及运行需要pcre,zlib等软件

CentOS6系统源码安装LNMP环境详解

一.安装nginx 以下命令均在root权限下执行,普通用户可通过su命令切换1.安装依赖 yum install gcc-c++ yum install pcre pcre-devel yum install openssl openssl-devel 2.下载源码 wget http://nginx.org/download/nginx-1.8.1.tar.gztar -zxvf nginx-1.8.1.tar.gzcd nginx-1.8.1 3.创建nginx用户 useradd -M 

lnmp 环境require(): open_basedir restriction in effect 错误

最近配置开发用的lnmp环境,环境配置完成后,爆500错误,查看nginx错误日志 open_basedir 将 PHP 所能打开的文件限制在指定的目录树,包括文件本身 错误日志显示,访问脚本不在 open_basedir的限定目录里面,配置open_basedir 一般会在php.ini 或 nginx 配置文件里面 首先检测php.ini 我发现并没有配置 open_basedir 然后检测nginx配置 发现 fastcgi.conf 中配置了open_basedir $document_

centos 6.8 安装LNMP环境(linux+nginx+mysql+php)

Nginx 特性 Nginx 性能稳定.功能丰富.运维简单.处理静态文件速度快且消耗系统资源极少.1.相比 Apache,用 Nginx 作为 Web 服务器:使用资源更少,支持更多并发连接,效率更高.2.作为负载均衡服务器:Nginx 既可在内部直接支持 Rails 和 PHP,也可支持作为 HTTP 代理服务器对外进行服务.Nginx 用 C 编写而成, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多.3.作为邮件代理服务器:Nginx 同时也是一款非常优秀的邮件代理

lnmp环境的使用教程

lnmp环境的使用 安装的软件都安装到了:/usr/local 管理nginx service nginx start|stop|restart|reload 管理mysql 直接执行mysql即可登录不需要用户名和密码,登录进行之后,需要删除匿名用户 并为root用户设置一个密码.原理:管理MYSQL中的账号,就是直接修改mysql.user表即可 host:允许使用这个账号登录的服务器,可以设置为ip地址,也可以设置为%[允许所有人登录] service mysqld start|stop|

lnmp环境自动化部署

lnmp.sh #!/bin/bash#This project to install lnmp#Author:菜逼cd命令玩家#Time:2016.10.13#objective:简化人工手动操作,完成一键部署lnmp环境#email:[email protected]#Blog address:http://www.cnblogs.com/chenjw-note/ #安装必须环境yum install gcc gcc-c++ autoconf libjpeg libjpeg-devel li

从零搭建LNMP环境

Linux就是环境所在的操作系统: Nginx则是一个「高性能的HTTP和反向代理服务器」,官网地址:http://nginx.org/: MySQL则是一个方便地对数据进行增删改查的数据库管理系统,官网地址:http://www.mysql.com/: PHP则是用来处理具体请求的脚本语言,官网地址:http://www.php.net/ 运用这4件工具,最简单直接的一个用途就是搭建一个网站,例如现在我的个人网站就是在「LNMP」上面跑的 其实在Nginx开始受到关注之前,「LAMP」是搭建网

lnmp环境安装(3)-php源码编译安装

本人安装的lnmp环境的相关文件,可以在本人提供的百度云盘资源进行下载 链接: http://pan.baidu.com/s/1dD6QZ1B 密码: zcs8 一.概述  php全称PHP:Hypertext Preprocessor超文本处理器,开源脚本语言! 其与web server的接口支持三种形式,分别为cgi, module方式, fastcgi方式.而对于nginx而言,只支持cgi和fastcgi两种接口方式与php进行连接! 本节将以源码安装php,启动php-fpm服务(fa

烂泥:学习ubuntu之快速搭建LNMP环境

本文首发于烂泥行天下 现在公司使用的都是ubuntu系统,这几天由于个别项目需要,需要搭建一个LNMP环境.为了快速搭建这个环境,我使用是apt-get方式进行安装.具体的操作步骤,看下面的文章. PS:按照在centos系统下nginx与php-fpm集成是行不通的,因为按照centos下配置的话,nginx访问的主页是空白的. 一.安装nginx 我们首先来安装nginx,使用如下命令: sudo apt-get -y install nginx nginx安装完毕后,我们来查看nginx都

解决LNMP环境下连接不上mysql的问题

LNMP环境下 远程连接mysql数据库 一.为了安全起见,lnmp环境是禁止远程连接的,他会删除iptables里面的3306端口的防火墙规则 一.如果是phpmydmin  那要把权限里要远程连接的用户主机改成 * 参考:https://bbs.vpser.net/thread-3135-1-1.html 或者mysql -uroot -p  输入密码 use mysql;update user set host = '%' where user='root'; flush privileg