在ubuntu上搭建LNMP服务器

LNMP = Linux + Nginx + MySQL + PHP
安装Nginx

执行以下命令即可:

apt-get install nginx

不过源里的版本是0.7.65,不喜欢老旧的玩意,可以尝试编译安装。

编译安装nginx.
1.准备编译环境

apt-get install libpcre3-dev build-essential libssl-dev

在这里 http://nginx.org/en/download.html 能找到nginx的tar球,最新的官方稳定版是
1.2.0.
执行:

cd /opt/
wget http://nginx.org/download/nginx-1.2.0.tar.gz
tar -zxvf nginx-1.2.0.tar.gz
cd /opt/nginx-1.2.0/

configure:

./configure --prefix=/opt/nginx --user=nginx --group=nginx --with-http_ssl_module

configure完成后会输出nginx的一些相关信息,

nginx path prefix: “/opt/nginx”
nginx binary file: “/opt/nginx/sbin/nginx”
nginx configuration prefix: “/opt/nginx/conf”
nginx configuration file: “/opt/nginx/conf/nginx.conf”
nginx pid file: “/opt/nginx/logs/nginx.pid”
nginx error log file: “/opt/nginx/logs/error.log”
nginx http access log file: “/opt/nginx/logs/access.log”
nginx http client request body temporary files: “client_body_temp”
nginx http proxy temporary files: “proxy_temp”
nginx http fastcgi temporary files: “fastcgi_temp”

make,安装,执行:

make
make install

给nginx进程添加用户nginx:

adduser --system --no-create-home --disabled-login --disabled-password --group nginx

下载并安装启动脚本:

wget -O init-deb.sh http://library.linode.com/assets/552-init-deb.sh
mv init-deb.sh /etc/init.d/nginx
chmod +x /etc/init.d/nginx
/usr/sbin/update-rc.d -f nginx defaults

启动一下试试:

/etc/init.d/nginx start

如果输出正常,那nginx就安装成功了。
配置虚拟主机:

如果从源里安装的nginx,那nginx配置文件位于/etc/nginx/sites-enabled
下面是一个虚拟主机的配置实例:

server {
    listen   80;
    server_name www.example.com example.com;
    access_log /srv/www/example.com/logs/access.log;
    error_log /srv/www/example.com/logs/error.log;

    location / {
        root   /srv/www/example.com/public_html;
        index  index.html index.htm;
    }
}

注意,配置文件中出现的目录必须存在,nginx并不会自动创建他们,所以,还需要执行:

mkdir -p /srv/www/example.com/public_html
mkdir -p /srv/www/example.com/logs

如果是编译安装的版本,相关路径见上文configure部分,配置文件位于/opt/nginx/conf,可以直接在nginx.conf添加 server段,为了便于管理,还是把虚拟主机独立出来好,修改nginx.conf, 如下在http段添加include部分。

http {
# [...]

include /opt/etc/nginx/sites-enabled/*;

# [...]
}

添加完虚拟主机后,别忘了重启以下nginx服务。

/etc/init.d/nginx restart

删除虚拟主机只需要删除对应的配置文件并重新启动一下下nginx就好。

安装php with fastcgi

执行:

apt-get install php5-cli php5-cgi psmisc spawn-fcgi

执行下面的命令会下载并安装fastcgi的控制脚本:

cd /opt/
wget -O php-fastcgi-deb.sh http://library.linode.com/assets/554-php-fastcgi-deb.sh
mv /opt/php-fastcgi-deb.sh /usr/bin/php-fastcgi
chmod +x /usr/bin/php-fastcgi
wget -O init-php-fastcgi-deb.sh http://library.linode.com/assets/553-init-php-fastcgi-deb.sh
mv /opt/init-php-fastcgi-deb.sh /etc/init.d/php-fastcgi
chmod +x /etc/init.d/php-fastcgi
/etc/init.d/php-fastcgi start
update-rc.d php-fastcgi defaults

然后在虚拟主机的配置文件里面添加php支持,示例如下:

server {
    server_name www.example.com example.com;
    access_log /srv/www/example.com/logs/access.log;
    error_log /srv/www/example.com/logs/error.log;
    root /srv/www/example.com/public_html;

    location / {
        index index.html index.htm index.php;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /srv/www/example.com/public_html$fastcgi_script_name;
    }
}

最后重启一下nginx服务:

/etc/init.d/nginx restart

安装MySQL:

执行:

apt-get install mysql-server php5-mysql

安装过程中会要求输入数据库的初始密码,

还可以执行一下:

mysql_secure_installation

禁用root的远程登录即可。

如果需要重新设置MySQL的密码,执行:

dpkg-reconfigure mysql-server-5.0

最后重启一下fastcgi:

/etc/init.d/php-fastcgi restart

至此LNMP安装完成。
本文翻译自Linode的Library文章:http://library.linode.com/lemp-guides/ubuntu-10.04-lucid#sph_id7
文中的操作系统是Ubuntu 10.04,你可以访问上面的连接获取更多信息。个人更推荐一键傻瓜安装包:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267045.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 后端开发好吗_后端开发学Java好还是学c++好呢?

C与 java 的抉择为了找工作:选Java。为挑战自我:选C。很多人都说会C就能会快掌握Jave。C是不好学,但是我告诉你java也不好学。C难是难在语言本身,java难是难在各种框架和库。你单纯学个java语法,你什么玩意也做不了&am…

mysql表名忽略大小写

MYSQL表名忽略大小写 问题描述:一开发同事在linux下调一个程序老是报错说找不到表,但是登陆mysql,show tables查看明明是已经创建了这张表的!!如下: 1234567891011121314151617181920212223mysql> show …

邮件联系人,如何恕不部分字母就能显示邮件联系人

新装的电脑,邮件pst文件已经导入成功,但是我想给别人发邮件时,输入个别英文字母就能显示对方的邮件地址,这样该如何操作呢?PST文件已经导入成功,邮件联系人中也能看到公司所有人的联系方式。转载于:https:/…

java的class和object_Java中Class/Object/T的关系

Object 对象Object是Java中的基类,大部分的对象都是继承于这个类。public class Object {....public native int hashCode();public boolean equals(Object obj) {...}public String toString() {...}}以上是其定义,可以看出来其定义了一些基础方法&…

P2787 语文1(chin1)- 理理思维

题目背景 蒟蒻HansBug在语文考场上,挠了无数次的头,可脑子里还是一片空白。 题目描述 考试开始了,可是蒟蒻HansBug脑中还是一片空白。哦不!准确的说是乱七八糟的。现在首要任务就是帮蒟蒻HansBug理理思维。假设HansBug的思维是一长…

使用jstree创建无限分级的树(ajax动态创建子节点)

首先来看一下效果 页面加载之初 节点全部展开后 首先数据库的表结构如下 其中Id为主键,PId为关联到自身的外键 两个字段均为GUID形式 层级关系主要靠这两个字段维护 其次需要有一个类型 public class MenuType{public Guid Id { get; set; }public Guid PId { get; set; }publi…

oracle长连接超时设置

方法一、在sqlnet.ora中设置参数 如需要设置客户端空闲10分钟即被中断,则在sqlnet.ora的末尾添加SQLNET.EXPIRE_TIME10注:sqlnet.ora文件的路径在$ORACLE_HOME/network/admin下。 方法二、Oracle Profile中设置 生产库上执行如下操作: SQL>…

linux syslog 笔记

原文地址 Linux日记系统由系统日志监控程序syslogd和内核日志监控程序klogd组成。从它们的命名可以看到,这两个监控程序都是守护程序(daemon),且都注册成了系统服务。换句话说,我们可以在目录/etc/init.d/下找到它们对…

Jenkins构建Spring+Nodejs项目

构建node.js环境1.安装 node.js 2.项目目录下执行 npm i -production 安装依赖的包install时会在项目目录下生成node_modules目录,使用-production只会下载依赖相关的包,否则会下所有的包(太大了)。因为编译主机不能联网&#xff…

解析Hibernate的结构

在学习Hibernate的时候,首先要了解Hibernate的大体结构,这样才能更好的理解其中的知识,下面就开始分析Hibernate的体系结构 1.HIbernate简要的体系结构如下图所示: 通过上图能够发现HIbernate需要一个hibernate.properties文件&am…

Java反梯形图案_梯形法求定积分(一)设计梯形法求积分的类模板,梯形法

/*设计梯形法求积分的类模板,梯形法求积分的函数被定义为成员函数,可以求任意函数的定积分,用积分类的模板参数T引入被积函数*/#include#include#includeusing namespace std;class Mysin{public:double fun(double x){return (sin(x));}};cl…

排序算法杂谈(三) —— 归并排序的非递归实现

1. 递归 在众多排序算法中,归并排序(Merge Sort)和快速排序(Quick Sort)都是时间复杂度为 O(nlog2n) 的高效排序。 这两种排序有一种共性,就是运用到了递归的思想。 在程序设计中,递归是一个很有…

apache+php32位平台安装

一、 系统配置 1、 禁用IPV6 修改/etc/modprobe.conf文件,加入以下两行: alias net-pf-10 off alias ipv6 off 2、 启用以下服务 其它服务关闭 acpid 提供高级电源管理 cpuspeed 可以提高系统运行效率 apmd 高级电源管理 crond 执行例行性程序 也就是window…

mysql 函数修改无效_MySQL:组函数的使用无效

MySQL:组函数的使用无效我正在使用MySQL。 这是我的模式:供应商( sid:整数 ,sname:string,地址string)部件( pid:整数 ,pname:string,颜色:string…

webpack简单笔记

本文简单记录学习webpack3.0的笔记,已备日后查阅。节省查阅文档时间 安装 可以使用npm安装 //全局安装 npm install -g webpack //安装到项目目录 npm install --save-dev webpack npm init会创建package.json文件。配置该文件可以简化我们之后的一些操作&#xff0…

ASP.NET性能优化小结(ASP.NETC#)(转)

原文转自:http://www.jb51.net/article/25937.htm 一、返回多个数据集   检查你的访问数据库的代码,看是否存在着要返回多次的请求。每次往返降低了你的应用程序的每秒能够响应请求的次数。通过在单个数据库请求中返回多个结果集,可以减少与…

【Canal源码分析】Sink及Store工作过程

一、序列图 二、源码分析 2.1 Sink Sink阶段所做的事情,就是根据一定的规则,对binlog数据进行一定的过滤。我们之前跟踪过parser过程的代码,发现在parser完成后,会把数据放到一个环形队列TransactionBuffer中,也就是这…

传Facebook将推出应用中心挑战谷歌搜索地位

网易科技讯 6月8日消息,据TechCrunch报道,Facebook将在今天或不久后推出App Center(应用中心)产品。应用中心可在手机上或浏览器中使用,外观和功能非常像苹果的应用店App Store,除了不能下载iPhone或iPad应用外。 Facebook的应用中…

java中or和and的优先级_x86处理器汇编语言AND和OR运算符优先级

Irvine的书使用MASM作为参考汇编程序 .作者正在谈论MASM operators 1 - 这些运营商仅为了我们人类的利益而受到支持 .它们让我们对立即数和常量执行算术,但它们使用的表达式必须最终在汇编时解析为一个值 .aConstant EQU 35mov edx, NOT 1 ;Same as mov edx, 0fffff…

博客园修改页面显示样式css

博客园修改页面显示样式css 一、总结 二、 博客园修改页面显示样式css 1、点管理 2、点设置 3、在页面定制css代码中加入你想要改变样式的css代码即可 不会写css的下面有代码示例,直接复制粘贴放到页面定制css代码位置即可 三、代码 1 #cnblogs_post_body h3 {2 …