热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

gentoo系统配置安装LNMP环境

安装Nginx*一条命令搞定:USEfastcgiemergenginx*新建用户和组:groupaddwwwuseraddwww-gwwwNginx安装好后默认会添加nginx组和nginx用户,不过我本身还是习惯新建个www组和www用户来做HTTP服务用户。若今后HTTP服务器更换为apa
安装 Nginx
* 一条命令搞定:
USE=fastcgi emerge nginx
* 新建用户和组:
groupadd www
useradd www -g www
Nginx 安装好后默认会添加 nginx 组和 nginx 用户,不过我本身还是习惯新建个 www 组和 www 用户来做 HTTP 服务用户。若今后 HTTP 服务器更换为 apache 或是 lighttpd 时,用户名和用户组可以不变。

安装 MySQL
在装 PHP 前必须先装 MySQL,因为 PHP 里的 MySQL 操作函数需要 MySQL 头文件和库的支持。
emerge dev-db/mysql
* 初始化数据库:
我不习惯把数据库安装在默认路径 /var/lib/mysql 中,我把它放在 /work/db/3306/data 中。
mkdir -p /work/db/3306/data
mysql_install_db --basedir=/usr --datadir=/work/db/3306/data --user=mysql
* 修改配置文件:
vim /etc/mysql/my.cnf
将 datadir 修改为:
datadir = /work/db/3306/data
* 启动 MySQL:
/etc/init.d/mysql start
* 修改 root 密码:
mysqladmin -uroot password hily
* 测试数据库:
mysql -uroot -p
显示:
gentoo setup # mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 2
Server version: 5.0.84-log Gentoo Linux mysql-5.0.84-r1
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql>
测试成功!

安装 PHP
以 fastcgi 方式来运行 PHP,需要安装 PHP-FPM。
目前最后一个需要以 patch 形式安装 PHP-FPM 的 PHP 版本是 5.3.0,PHP 5.3.2 版本中将可能直接集成 PHP-FPM。
这里我就使用 PHP 5.3.0 来安装。
因为 Gentoo 中目录还没有集成 PHP-FPM 的 Portage,所以下面直接通过源码编译形式进行安装。
* 下载 PHP 5.3.0:
wget http://cn.php.net/distributions/php-5.3.0.tar.bz2
* 下载 PHP-FPM 补丁:
wget http://php-fpm.org/downloads/php-5.3.0-fpm-0.5.12.diff.gz
* 解压 PHP 并打 FPM 补丁:
tar jxf php-5.3.0.tar.bz2
gzip -cd php-5.3.0-fpm-0.5.12.diff.gz | patch -d php-5.3.0 -p1
* 安装 PHP 需要的库(根据自身需要):
emerge libpng
emerge jpeg
emerge freetype
USE="png jpeg truetype" emerge gd
或者直接:
USE="png jpeg truetype" emerge gd
* 配置并编译 PHP(根据自身需要):
cd php-5.3.0
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr --with-mysqli=/usr/bin/mysql_config --enable-fpm --enable-sockets --enable-pdo --with-pdo-mysql=/usr --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-zlib
make && make install
* PHP 配置文件:
cp php.ini-production /usr/local/php/etc/php.ini
* PHP-FPM 配置文件:
vim /usr/local/php/etc/php-fpm.conf
修改 listen_address 为 socket 地址(socket 比 IP:Port 高效):
/tmp/php-fpm.sock
修改用户组和用户名:
Unix user of processes
www
Unix group of processes
www
修改 PHP-FPM 运行模式为 Apache-Like 模式:
apache-like
1
1
5
StartServers、MinSpareServers 和 MaxSpareServers 根据实际需要设置,我这里是虚拟机,没必要太大。
* PHP-FPM 启动脚本:
cp /usr/local/php/sbin/php-fpm /etc/init.d/php-fpm
* 启动 PHP-FPM
/etc/init.d/php-fpm start

添加启动服务
rc-update add nginx default
rc-update add mysql default
rc-update add php-fpm default

测试 Nginx+PHP
* 添加测试站点目录:
mkdir -p /work/www/test
echo "" > /work/www/test/index.php
* 添加测试站点的 Nginx 配置:
vim /etc/nginx/nginx.conf
注释掉 server 段,在 http 段尾部加上:
include sites/*.enable;
之后每个站点的配置文件都以一个独立的文件保存在 /etc/nginx/sites 目录下,方便管理和维护。
mkdir /etc/nginx/sites
vim /etc/nginx/test.enable
test.enable 配置如下:
server {
listen       80;
server_name  test.local;
access_log  /work/www/logs/test.access.log  main;
error_log  /work/www/logs/test.error.log;
location / {
root   /work/www/test;
index  index.html index.htm index.php;
}
location ~ .php$ {
root           /work/www/test;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
include        fastcgi_params;
fastcgi_pass   unix:/tmp/php-fpm.sock;
}
}
* 新建存储日志目录:
mkdir /work/www/logs
* 重新加载 Nginx 配置
/etc/init.d/nginx reload
*新建phpinfo信息测试文件
vim /work/www/test/phpinfo.php
输入内容:
phpinfo();
?>

* 访问:http://192.168.80.135/phpinfo.php
192.168.80.135 是我这台 Gentoo 机器的 IP。
显示正常的 phpinfo 信息,则安装完成!

推荐阅读
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • 本文介绍了在无法联网的情况下,通过下载rpm包离线安装zip和unzip的方法。详细介绍了如何搜索并下载合适的rpm包,以及如何使用rpm命令进行安装。 ... [详细]
  • 负载均衡_Nginx反向代理动静分离负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分
    nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
author-avatar
胖蚂蚁
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有