LNMP

环境:

版本:CentOS-6

web:nginx+php

mysql

/application/                    ##安装软件的目录,每台服务器上都一样

##最好也弄一个下载软件包的目录,方便管理

##可以是分离式,也可以安装在一起


开始部署:


-----------------nginx------------------

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

##更新epel源

yum  -y install gcc  gcc-c++  automake  autoconf
##安装兼容程序库、开发工具的基础依赖包

wget http://nginx.org/download/nginx-1.12.2.tar.gz
##下载tar包

yum -y install pcre-devel openssl-devel
##安装依赖包

useradd -s /sbin/nologin -M www
##创建管理用户

tar zxf nginx-1.12.2.tar.gz
##解压

cd  nginx-1.12.2
##解压后会自动创建一个版本名目录

./configure --prefix=/application/nginx-1.12.2 --user=www --group=www --with-http_ssl_module --with-http_stub_status_module
##进入到解压的目录下进行配置

echo $?
##检查上一个命令的结果是否正确(没错的话就继续)

make && make  install
##编译 && 编译安装 (将各种程序语言转换为系统可以识别的二进制信息)

echo  $?

ln -s /applicaton/nginx-1.12.2  /application/nginx
##创建软连接,方便使用

cd /application/nginx/conf/

grep -v '^$' nginx.conf.default |egrep -v '#' > nginx.conf
##精简nginx配置文件

chown -R www.www  /application/nginx*
##设置属主

echo 'export PATH=/application/nginx/sbin:$PATH' >>/etc/profile
source /etc/profile
##优化nginx命令路径

nginx
##启动服务

ps -ef |grep nginx
##检查


#####nginx+php配置文件简单样例#####

worker_processes  1;
events {
worker_connections  1024;
}
http {
include       mime.types;
default_type  application/octet-stream;
sendfile        on;
keepalive_timeout  65;

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

server {
listen       80;
server_name  www.renyi.com;
root   html; 
index  index.php index.html index.htm;
location ~* .*\.(php|php5)?$ {
fastcgi_pass  127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
access_log  logs/access.log  main;

}

        }

###############################




-----------------mysql------------------

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

tar zxf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz 
##解压到当前目录

useradd -s /sbin/nologin -M mysql
##创建管理用户

mv mysql-5.6.34-linux-glibc2.5-x86_64 /application/mysql-5.6.34
##移动到其他目录下,并改名

cd /application/

ln -s /application/mysql-5.6.34 /application/mysql
##创建软连接,方便使用

chown -R mysql.mysql /application/mysql/
##让mysql用户管理 /application/mysql/

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql
##初始化数据库
 #1. 确认软件安装在哪里
 #2. 确认数据存放在哪里
 #3. 确认MySQL使用的用户谁?
  To start mysqld at boot time you have to copy
  support-files/mysql.server to the right place for your system
  mysql启动脚本 默认放在support-files/mysql.server  
  
  记得给MySQL设置个密码
  PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
  To do so, start the server, then issue the following commands:
  /application/mysql/bin/mysqladmin -u root          password 'new-password'
  /application/mysql/bin/mysqladmin -u root -h web01 password 'new-password'

cp /application/mysql/support-files/mysql.server  /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld 
##复制启动脚本 授权

sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld
##修改启动脚本 和 mysql命令中的路径

\cp /application/mysql/support-files/my-default.cnf /etc/my.cnf 
##复制默认的配置文件

/etc/init.d/mysqld start
##至此,mysql数据库安装与启动完成;可以检测进程和服务端口,确认mysql服务是否启动正确


----登录数据库命令简化方法
    echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
##把mysql命令路径追加到到/etc/profile文件里

    source /etc/profile
##生效配置文件

    which mysql

    chkconfig --add mysqld
##添加到系统服务

    chkconfig mysqld on
##添加到开机自启

    mysqladmin -u root password 'renyi123'
##设置mysql  root用户的密码  renyi123

    mysql -u root -prenyi123
    ##指定root用户登陆,并免交互




-----------------php------------------
(在nginx上配置)

yum -y install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

tar zxf libiconv-1.14.tar.gz

cd libiconv-1.14.tar.gz

./configure --prefix=/usr/local/libiconv && make && make install
cd ..

##解决PHP软件的依赖关系 

yum -y install libmcrypt-devel mhash mcrypt
##安装依赖包

tar xf php-5.5.32.tar.gz
##解压php,之前先下载一个

cd php-5.5.32
./configure \
    --prefix=/application/php-5.5.32 \

    --with-mysql=mysqlnd \       

    --with-pdo-mysql=mysqlnd \   ##这里报错就可以不要这个
    --with-iconv-dir=/usr/local/libiconv \
    --with-freetype-dir \
    --with-jpeg-dir \
    --with-png-dir \
    --with-zlib \
    --with-libxml-dir=/usr \
    --enable-xml \
    --disable-rpath \
    --enable-bcmath \
    --enable-shmop \
    --enable-sysvsem \
    --enable-inline-optimization \
    --with-curl \
    --enable-mbregex \
    --enable-fpm \
    --enable-mbstring \
    --with-mcrypt \
    --with-gd \
    --enable-gd-native-ttf \
    --with-openssl \
    --with-mhash \
    --enable-pcntl \
    --enable-sockets \
    --with-xmlrpc \
    --enable-soap \
    --enable-short-tags \
    --enable-static \
    --with-xsl \
    --with-fpm-user=www \
    --with-fpm-group=www \
    --enable-ftp \
    --enable-opcache=no
##进入到解压目录并配置-----如果还出错,就一条一条复制

ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/
touch ext/phar/phar.phar
##避免编译与编译安装过程出现异常

make && make install
##进行软件编译与编译安装过程

ln -s /application/php-5.5.32/ /application/php
##PHP软件程序创建软链接

cd /server/tools/php-5.5.32
ll php.ini*
-rw-r--r--. 1 1001 1001 69236 2016-02-02 21:33 php.ini-development  --- 是开发人员调试用配置文件
-rw-r--r--. 1 1001 1001 69266 2016-02-02 21:33 php.ini-production   --- 生产环境常用配置文件
cp php.ini-production /application/php/lib/php.ini
cd /application/php/etc/
cp php-fpm.conf.default php-fpm.conf
##配置php解析文件/配置php-fpm配置文件

/application/php/sbin/php-fpm 
lsof -i :9000                    <--- 确认php 9000端口是否正确启动
ps -ef|grep php-fpm
##启动php-fpm程序


##########

访问nginx测试

##########

    ##编辑nginx与php连通性测试文件,并进行测试
    echo '<?php phpinfo(); ?>' >/application/nginx/html/index.php
    ##测试站点
    ##当php服务停止时,9000端口信息消失,即停止PHP错误报502错误
    ##linux系统测试完毕后,建议利用浏览器进行最终测试,测试效果更明显些


##测试php与数据库的连通性
    <?php
    //$link_id=mysql_connect('主机名','用户','密码');
    //mysql -u用户 -p密码 -h 主机
    $link_id=mysql_connect('mysql的IP','mysql用户','密码') or mysql_error();
    if($link_id){
                 echo "Successful connection mysql!\n";
                }else{
                 echo mysql_error();
                }

    ?>

        ##如果mysql是本机,就写 localhost 或者 127.0.0.1

        ##如果登陆不上,可以先查看一下mysql用户权限

mysql -uroot -prenyi123

select user,host from mysql.user;

grant all on *.* to 'root'@'%' identified by 'renyi123';

##########



成功




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值