chapterone:安装配置lnmp

author author     2022-08-30     215

关键词:

  • 源码安装配置LNMP


更新时间:2016-08-02

系统环境:CentOS 6.5

软件环境:nginx 1.8.1、mysql 5.6.22、php 5.6.19

本机IP  :192.168.1.88、192.168.1.36


  • 关闭防火墙和安全机制

#service iptables stop

#setenforce 0

#getenforce

【nginx】

1. 创建用户

#groupadd nginx

#useradd -M -s /sbin/nologin nginx -g nginx

2. 编译安装

#yum -y install pcre-devel zlib-devel gcc                

# tar zvxf nginx-1.8.1.tar.gz -C /usr/src/

# cd /usr/src/nginx-1.8.1/

# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_flv_module --with-http_gzip_static_module

#make && make install

3. 创建软连接
 #ln -s /usr/local/nginx/sbin/* /usr/local/sbin/                    

4.检查配置文件

# nginx -t

 5. 启动nginx服务

#nginx  

#netstat -anpt | grep nginx

  tcp   0   0 0.0.0.0:80        0.0.0.0:*         LISTEN      17295/nginx 

  • 浏览器访问本机IP

技术分享

nginx配置优化

worker_processes auto //nginx
要开启的进程数,一般等于cpu的总核数 (设置为“auto”将尝试自动检测它)

worker_rlimit_nofile 102400 //
这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。

worker_connections 5000 //
每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为worker_processes*worker_connections

keepalive_timeout 60 //keepalive
超时时间

access_log /var/log/nginx/access.log //
设置nginx是否将存储访问日志

error_log /var/log/nginx/error.log //
告诉nginx只能记录严重的错误



【mysql】

 1.创建用户

 #useradd mysql 
 2.编译安装
# yum -y install ncurses ncurses-devel gcc libtool gcc-c++ make cmake
#tar zvxf mysql-5.6.22.tar.gz -C /usr/src

#cd /usr/src/mysql-5.6.22/

# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

-DMYSQL_DATADIR=/usr/local/mysql/data

-DSYSCONFDIR=/etc

-DWITH_MYISAM_STORAGE_ENGINE=1

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_PARTITION_STORAGE_ENGINE=1

-DENABLE_DOWNLOADS=1

-DWITH_READLINE=1

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock

-DMYSQL_TCP_PORT=3306

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DEXTRA_CHARSETS=all

-DMYSQL_USER=mysql 

#make && make install 

3. 更改属主属组

#chown -R mysql:mysql /usr/local/mysql/

初始化: 

#/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

拷贝文件:

# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

添加启动mysqld服务:

[[email protected] ~]# chkconfig --add mysqld

[[email protected] ~]# chkconfig mysqld on

[[email protected] ~]# service mysqld start

Starting MySQL..                                           [确定]

软连接:

[[email protected] ~]# ln -s /usr/local/mysql/bin/* /usr/local/bin/


4. 设置mysql密码

  #mysqladmin -uroot password ‘newpass‘
修改密码报错:
mysqladmin: connect to server at ‘localhost‘ failed
error: ‘Access denied for user ‘root‘@‘localhost‘ (using password: YES)‘
进数据库更改密码:
  • 1.service mysqld stop

  • 2. mysqld_safe --skip-grant-tables &

  • 3. mysql -uroot -p  回车进入

  • >use mysql;
    > update user set password=PASSWORD("newpass")where user="root";

    > flush privileges;
     更新权限
    > quit
     退出

  • 4.service mysqld restart

  • 5. mysql -uroot -pnewpass 进入


【PHP】

 1. 编译安装

# yum -y install openssl openssl-devel libxml2 libxml2-devel bzip2 bzip2-devel curl curl-devel libjpeg libpng freetype libjpeg-devel libpng-devel freetype-devel libmcrypt-devel

# tar zvxf php-5.6.19.tar.gz -C /usr/src

# cd /usr/src/php-5.6.19/

# ./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5 --enable-fpm --with-fpm-user=php --with-fpm-group=php --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache 

报错:

1. configure: error: mcrypt.h not found. Please reinstall libmcrypt.

   #tar zvxf libmcrypt-2.5.7.tar.gz -C /usr/src/

   #cd /usr/src/libmcrypt-2.5.7/

   #./configure --prefix=/usr/local/libmcrypt  && make && make install

2. configure: error: Don‘t know how to define struct flock on this system, set --enable-opcache=no

   #vim /etc/ld.so.conf.d/local.conf     

      /usr/local/lib                       添加该行

  # ldconfig             //使之生效

继续编译安装:
# make && make install


2. 配置php-fpm模块

[[email protected] php-5.6.19]# cp php.ini-development /usr/local/php5/php.ini

[[email protected] ~]# cd /usr/local/php5/etc/

[[email protected] etc]# ls

pear.conf  php-fpm.conf.default

[[email protected] etc]# cp php-fpm.conf.default php-fpm.conf

[[email protected] etc]# useradd -M -s /sbin/nologin php

编辑配置文件

# vim php-fpm.conf

  25 pid = run/php-fpm.pid

131 user = php

132 group =php

236 pm.max_children = 50

241 pm.start_servers = 20

246 pm.min_spare_servers = 5

251 pm.max_spare_servers = 35

启动php-fpm

[[email protected] etc]# /usr/local/php5/sbin/php-fpm

[[email protected] etc]# netstat -anpt | grep php-fpm

tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      45716/php-fpm       


3.将php-fpm模块加入nginx配置文件

#vim /usr/local/nginx/conf/nginx.conf

server {

        listen       80;

        server_name  www.baidu.com;

        charset utf-8;

        access_log  logs/host.access.log  main;

        location / {

            root   html/baidu;

            index  index.html index.htm index.php;

        }

  location ~ .php$ {

            root           html/baidu;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            include        fastcgi.conf;

        }

}

重启nginx

[[email protected] etc]# killall nginx

[[email protected] etc]# netstat -anpt | grep nginx

[[email protected] etc]# nginx

[[email protected] etc]# netstat -anpt | grep nginx

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      45787/nginx   


4. 测试  

 域名映射

# vim /etc/hosts

192.168.1.36    www.baidu.com

 创建网页目录

#mkdir /usr/local/nginx/html/baidu

测试

# echo Baidu > /usr/local/nginx/html/baidu/index.html

# elinks --dump 192.168.1.36

  Baidu


测试nginxPHP连通性

[[email protected] baidu]# pwd

/usr/local/nginx/html/baidu

[[email protected] baidu]# cat 2.php

<?php

 phpinfo();

?>

技术分享

测试数据库和PHP连通性


#vim /usr/local/nginx/html/baidu/test.php

 <?php

$link=mysql_connect(‘localhost‘,‘root‘,‘123456‘);            //连接mysql数据库

if($link) echo "<h1>恭喜你,大功告成!!</h1>";                           //连接成功则返回信息

mysql_close();                                                                                              //关闭数据库连接

?>


[[email protected] html]# elinks --dump192.168.1.36/test.php

                      恭喜你,大功告成!!

技术分享


在网上查询的,未实验过。
mysql_connect这个模块将在未来弃用,请你使用mysqli或者PDO来替代。

解决方法1:

禁止PHP报错

display_errors = On

 

改为

 

display_errors = Off

鉴于这个服务器都是给用户用的,有时候他们需要报错,不能这做,让他们改程序吧,看方案2.

解决方法2:

常用的php语法连接MySQL如下

<?php


 

$link =  mysql_connect(‘localhost‘, ‘user‘, ‘password‘);

 

mysql_select_db(‘dbname‘, $link);

 


 

改成mysqi

 

<?php

 

$link = mysqli_connect(‘localhost‘, ‘user‘, ‘password‘, ‘dbname‘);

常用mysql建表SQL如下

<?php

 

//  老的

 

mysql_query(‘CREATE  TEMPORARY TABLE `table`‘, $link);

 

// 新的

 

mysqli_query($link, ‘CREATE  TEMPORARY TABLE `table`‘);

解决方法三:
在php程序代码里面设置报警级别

<?php

 

error_reporting(E_ALL ^  E_DEPRECATED);



本文出自 “一个Linux小白-学习运维” 博客,请务必保留此出处http://zhaojia.blog.51cto.com/12886290/1923697

lnmp安装与配置

LNMP安装与配置1.安装前准备(确认apache和mysql端口无 有的话停止stop运行)1)关闭rpm默认安装的apache和mysql[[email protected]~]#chkconfig--list|grephttpd[[email protected]~]#chkconfig--list|grepmysqld[[email protecte 查看详情

centos下lnmp环境配置(代码片段)

安装配置Nginx安装配置MySQL安装配置PHPNginx与PHP-FPM集成环境配置验证 LNMP环境代表Linux系统下Nginx+MySQL+PHP网站服务器架构。本文档介绍CentOS下的LNMP环境搭建。本文档包含软件安装内容,请确保您已熟悉软件安装方法.。安装配置... 查看详情

ubuntu安装配置lnmp

Ubuntu-15.04安装配置LNMP服务一、操作系统版本信息[email protected]:~#lsb_release-aNoLSBmodulesareavailable.DistributorID:UbuntuDescription:   Ubuntu14.04.4LTSRelease:   14.04Codename 查看详情

lnmp安装与配置

MYSQL安装:http://www.cnblogs.com/renjidong/p/7047396.htmlNGINX安装:http://www.cnblogs.com/renjidong/p/7081140.htmlPHP安装:     我用的PHP版本 php-5.5.38      查看详情

lnmp一键安装包配置https(代码片段)

一、安装包安装大家按照官方说的安装即可。./install.shlnmpa二、配置为域名bbs.wzlinux.com配置虚拟主机[[email protected]~]#lnmpvhostadd+-------------------------------------------+|ManagerforLNMP,WrittenbyLicess|+------------------- 查看详情

ubuntu系统lnmp环境下安装配置zabbix3.0

Ubuntu14.04(LNMP)安装配置Zabbix3.0,LNMP安装你可以参考我上一篇博文《ubuntu安装配置LNMP》添加zabbix3.0的源可以根据自己工作需求选择zabbix版本# wgethttp://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+tru 查看详情

lnmp安装ftp服务并配置ftp用户

lnmp默认是不带FTP服务的,需要的童鞋要自行安装.步骤也很简单一,进入lnmp目录,找到pureftpd.sh二,直接运行该脚本 ./pureftpd.sh按任意键开始安装,等待,安装成功如下可以使用以下命令服务lnmpftpadd添加FTPlnmpftplist显示FTP用户lnmpftpdel... 查看详情

lnmp环境搭建

LNMP环境1.安装Linux操作系统(略)2.安装Mysql(1)下载所需的安装包(2)执行安装(3)启动服务(4)查看进程并修改密码3.安装php(1)创建用户(2)安装所需的依赖包(3)解压(4)配置编译程序(5)编译并安装php(6)修改配... 查看详情

lnmp安装目录及配置文件位置

LNMP相关软件安装目录Nginx目录:/usr/local/nginx/MySQL目录:/usr/local/mysql/MySQL数据库所在目录:/usr/local/mysql/var/MariaDB目录:/usr/local/mariadb/MariaDB数据库所在目录:/usr/local/mariadb/var/PHP目录:/usr/local/php/PHPMyAdmin目录:0.9 查看详情

lnmp安装配置

一、总体简介Lnmp架构(Linux+nginx+mysql+php)是目前网站的主流架构,这个架构包含了一个网站的最基本要求:运行环境+web容器+动态页面处理+存储。当然同样主流的架构还有lamp,但是个人认为nginx的性能在现在的趋势下更胜一筹... 查看详情

基于centos的lnmp搭建

部署lnmp环境安装配置mariadb配置php配置phpmyadmin配置php-fpm配置nginx配置测试LNMP(linux,nginx,mariadb,php)部署,以下默认在root权限下操作,以centos7为例。安装安装nmp(nginx-mariadb-php)yuminstallnginxmariadb-serverphpphp-fpm设置开机启动并立即启... 查看详情

编辑安装lnmp(代码片段)

编辑安装Lnmp一.LNMP相关概念二.安装Nginx服务关闭防火墙1.安装依赖包2.创建运行用户3、编译安装4、优化路径5、添加Nginx系统服务三.安装MySQL服务1、安装Mysql环境依赖包2.创建运行用户3.编译安装4、修改mysql配置文件5、更改mysql安... 查看详情

lnmp一键安装包常用命令及配置文件路径

文章内容来自http://blog.csdn.net/y_server/article/details/53080106状态管理LNMP状态管理:/root/lnmp{start|stop|reload|restart|kill|status}Nginx状态管理:/etc/init.d/nginx{start|stop|reload|restart}PHP-FPM状态管理:/etc/init.d/ 查看详情

centos下配置lnmp环境(源码安装)

准备工作,安装依赖库yum-yinstallgccautomakeautoconflibtoolmakegcc-c++glibclibxslt-devellibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-develzlibzlib-develglibcglibc-develglib2glib2-de 查看详情

lnmp

安装nginx安装nginx依赖程序创建管理nginx用户编译安装nginx优化nginx命令启动nginx  重新启动nginx  killall-s1nginx  关闭nginxkillall-s3nginx配置虚拟主机创建虚拟主机网站根目修改nginx主配置文件配配置虚拟主机搭建DNS添加权限启动DNS安... 查看详情

搭建lnmp环境(代码片段)

安装lnmp一键安装包:https://lnmp.org/install.html相关配置文件Nginx配置文件:/usr/local/nginx/conf/nginx.confPHP配置文件:/usr/local/php/etc/php.iniMySQL配置文件:/etc/my.cnf默认网站根目录:/home/wwwroot/default 搭建常见问题:composer安装lara 查看详情

lnmp一键安装包配置多站点(代码片段)

在/usr/local/nginx/conf/vhost下配置多站点的文件,一个站点对应一个文件,配置如下信息:vim./vhost/test.confserverlisten80;server_namewww.centos.comcentos.com;root/home/wwwroot/test;location/indexindex.php;#autoindexon;location~\ 查看详情

lnmp安装篇

转载者语:转载于:http://www.osyunwei.com/archives/2353.html原文标题:CentOS6.2yum安装配置lnmp服务器(Nginx+PHP+MySQL)本人一CentOS6.864位测试成功准备篇:1、配置防火墙,开启80端口、3306端口vi/etc/sysconfig/iptables-AINPUT-mstate--stateNEW-mtcp-ptcp- 查看详情