• LNMP环境搭建


    环境准备:
    RHEL6.5
    安装依赖
    yum install -y gcc* pcre-devel zlib-devel openssl*
    pcre为nginx提供正则支持
    zlib为nginx提供文件压缩支持

    软件包准备:
    nginx-1.0.8.tar.gz
    mysql-5.1.55.tar.gz
    php-5.3.6.tar.gz

    第一步:安装nginx
    添加nginx系统用户

     1 useradd -M -s /sbin/nologin nginx
     2 
     3 tar -zxf nginx-1.0.8.tar.gz
     4 
     5 cd nginx-1.0.8
     6 
     7 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_stub_status_module 
     8 --with-http_ssl_module --user=nginx --group=nginx 
     9 
    10 make && make install
    11 
    12 ln -sv /usr/local/nginx/sbin/nginx /usr/local/bin

    检测nginx配置文件

    1 nginx -t -c /usr/local/nginx/conf/nginx.conf

    启动nginx服务器访问测试

    1 nginx

    浏览器访问如图所示:

    如果不能访问,修改防火墙规则或关闭防火墙试试

    1 iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    1 查看nginx进程号
    2 cat /usr/local/nginx/logs/nginx.pid
    3 关闭nginx进程
    4 killall -9 nginx

    如图所示

    编写nginx服务脚本

     1 #!/bin/bash
     2 # chkconfig: 2345 99 20
     3 # description:Nginx service script
     4 
     5 PLOC="/usr/local/nginx/sbin/nginx"
     6 PIDF="/usr/local/nginx/logs/nginx.pid"
     7 
     8 case "$1" in
     9         start)
    10         $PLOC -t & > /dev/null
    11         if [ $? -eq 0 ] ; then
    12         $PLOC
    13         echo "nginx service start success."
    14         else
    15         $PLOC -t
    16         if  
    17         ;;  
    18 
    19         stop)
    20         kill -s QUIT $(cat $PIDF)
    21         echo "nginx service stop success."
    22         ;; 
    23 
    24         restart)
    25         $0 stop
    26         $0 start
    27         ;;  
    28 
    29         reload)
    30         $PLOC -t &> /dev/null
    31         if [ $? -eq 0 ] ; then
    32         kill -s HUP $(cat $PIDF)
    33         echo "reload nginx config success."
    34         else
    35         $PLOC -t
    36         fi
    37         ;;
    38 
    39         *)
    40         echo "Usage: $0{start|stop|restart|reload}"
    41         exit 1
    42 esac

    保存退出

    1 chmod +x /etc/init.d/nginx
    2 
    3 chkconfig --add nginx

    使用脚本启动nginx

    1 service nginx start

    效果如图所示

    第二步MySQL的安装

     1 添加mysql系统用户
     2 useradd -M -s /sbin/nologin mysql
     3 
     4 tar -zxf mysql-5.1.55.tar.gz
     5 
     6 cd mysql-5.1.55
     7 
     8 ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312
     9 
    10 make && make install
    11 
    12 
    13 cp ./support-files/my-medium.cnf /etc/my.cnf
    14 
    15 cp ./support-files/mysql.server /etc/init.d/mysqld
    16 
    17 chmod a+x /etc/init.d/mysqld

    将mysql服务添加到系统服务列表

    1 chkconfig --add mysqld

    初始化mysql

    1 /usr/local/mysql/bin/mysql_install_db --user=mysql
    2 
    3 chown -R root.mysql /usr/local/mysql/
    4 
    5 chown -R mysql /usr/local/mysql/var

    将mysql库文件添加到系统库文件路径,方便其他程序调用

    1 ln -sv /usr/local/mysql/bin/* /usr/local/bin/
    2 
    3 ln -sv /usr/local/mysql/lib/mysql/* /usr/lib/
    4 
    5 ln -sv /usr/local/mysql/include/mysql/* /usr/include/

    启动mysql服务,为root用户修改密码

    1 service mysqld start
    2 
    3 /usr/local/mysql/bin/mysqladmin -uroot password 123456
    4 
    5 /usr/local/mysql/bin/mysql -uroot -p

    连接mysql服务器,如图所示

    第三步安装php

    1 tar -zxf php-5.3.6.tar.gz
    2 
    3 cd php-5.3.6
    4 
    5 ./configure --prefix=/usr/local/php --with-gd --with-zlib --with-mysql=/usr/local/mysql 
    6 --with-config-file-path=/usr/local/php --enable-mbstring --enable-fpm

    这里报错
    configure: error: libpng.(a|so) not found.
    但是使用rpm -qi | grep libpng显示已安装

    使用locate libpng.so查找libpng.so相关位置
    我的是64位的系统,libpng.so相关的文件都在/usr/lib64/这个目录下,所以需要拷贝到/usr/lib/目录下
    cp /usr/lib64/libpng* /usr/lib/
    再执行./configure.

    1 make && make install

    给php添加配置文件php.ini

    1 cp ./php.ini-development /usr/local/php/php.ini

    将php执行文件添加到系统路径中

    1 ln -sv /usr/local/php/bin/* /usr/local/bin/
    2 ln -sv /usr/local/php/sbin/* /usr/local/sbin/

    添加php-fpm配置文件

    1 cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

    编辑php-fpm.conf文件

    1 vim /usr/local/php/etc/php-fpm.conf
    2 显示行号,去掉25,157,162,167前的;
    3 将122,123行改为如下所示
    4 user=nginx
    5 group=nginx

    启动php-fpm进程

    1 php-fpm
    2 netstat -anpt | grep php-fpm

    如下图所示

    修改上面编写的nginx服务脚本,让nginx和php-fpm进程能够同时启动和关闭

    1 vim /etc/init.d/nginx

    如下图所示,添加4行代码即可

    第四步LNMP环境测试

    1 mkdir /var/www/

    编辑nginx配置文件,让nginx能够找到php-fpm进程,添加一个虚拟主机

     1 vim /usr/local/nginx/conf/nginx.conf
     2 
     3 user nginx;
     4 worker_processes  1;  
     5 
     6 events {
     7     worker_connections  1024;
     8 }
     9 
    10 
    11 http {
    12     include       mime.types;
    13     default_type  application/octet-stream;
    14 
    15     sendfile        on; 
    16 
    17     keepalive_timeout  65; 
    18 
    19     server {
    20         listen       80; 
    21         server_name  www.nginxtest.com;
    22         
    23         location ~ .php$ {
    24             root           /var/www/test;
    25             fastcgi_pass   127.0.0.1:9000;
    26             fastcgi_index  index.php;
    27             fastcgi_param  SCRIPT_FILENAME  /var/www/test/$fastcgi_script_name;
    28             include        fastcgi_params;
    29         }   
    30     }   
    31 
    32 }

    保存退出

    创建目录

    1 mkdir /var/www/test

    编辑一个测试脚本

    1 vim /var/www/test/index.php

    添加内容如下:

    1 <?php
    2 phpinfo();

    如下图所示

    测试mysql和php能否正常工作

    1 vim /var/www/test/mysql.php

    添加内容如下

    1 <?php
    2 
    3 $link = mysql_connect('localhost','root','123456');
    4 
    5 var_dump($link);

    如下图所示

  • 相关阅读:
    Effective C++ -----条款29:为“异常安全”而努力是值得的
    Effective C++ -----条款28:避免返回handles指向对象内部成分
    Effective C++ -----条款27:尽量少做转型动作
    Effective C++ -----条款26:尽可能延后变量定义式的出现时间
    Effective C++ -----条款25:考虑写出一个不抛异常的swap函数
    Effective C++ -----条款24:若所有参数皆需类型转换,请为此采用non-member函数
    HGE 第一个程序
    Help him http://acm.hdu.edu.cn/showproblem.php?pid=5059
    C 语言实例
    C 语言实例
  • 原文地址:https://www.cnblogs.com/iaknehc/p/7956745.html
Copyright © 2020-2023  润新知