美文网首页PHP的学习我用 Linux技术文
linux:ubuntu下搭建LNMP环境

linux:ubuntu下搭建LNMP环境

作者: 陈钢镚学财 | 来源:发表于2016-11-21 15:31 被阅读463次

    前言


    LNMP现在也是一个非常主流的php服务器端解决方案,前两天正好安装了ubuntu,那么今天就来记录一下我在ubuntu上,安装lnmp的过程。

    步骤


    1. 安装nano编辑器
    sudo apt-get install nano (^ 就是 ctrl )
    
    • 安装mysql


      lnmp_mysql.png
     相关命令:
        Sudo service mysql status -- 检测mysql是否运行
        Sudo service mysql start -- 启动mysql
        Sudo service mysql stop -- 关闭mysql 
        netstat –a -- 查看已连接的服务端口
        Netstat –ap --查看所有服务端口
        Netstat –ap | grep 8080 --查看固定端口
        Kill pid --关闭进程
        Mysql –uroot –p --登录mysql
    
     配置远程登陆mysql:
        grant all privileges on *.* to 'root'@'%'with grant option; -- 开启任何远程主机都可以连接数据库
        flush privileges -- 让修改生效
        设置/etc/mysql/my.cnf  bind_address注释掉
        重启,并删除原有的 其他root账户记录 user表
        有时候可能是空密码,记得mysql需要在配置中打开允许空密码
    
     新建用户:
    
     CREATE USER 'vsonweb'@'%' IDENTIFIED BY '********';
    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'vsonweb'@'%';
    GRANT SELECT, INSERT, UPDATE, REFERENCES, DELETE, CREATE, DROP, ALTER, INDEX, TRIGGER, CREATE VIEW, SHOW VIEW, EXECUTE, ALTER ROUTINE, CREATE ROUTINE, CREATE TEMPORARY TABLES, LOCK TABLES, EVENT ON `vsonweb`.* TO 'vsonweb'@'%';
    GRANT GRANT OPTION ON `vsonweb`.* TO 'vsonweb'@'%';
    
    • 安装nginx
    Sudo apt-get install nginx
    
    • 安装php5-fpm,php5,php-cli
    Sudo apt-get install php5-fpm,php5,php-cli
    dpkg -S php5-fpm 查看php5-fpm安装了哪些东西,且可以看见安装在了什么目录
    
    • 集成nginx和php5

    Nginx与php5一般通过fastcgi集成,而fastcgi一般使用php-fpm
    Php-fpm与nginx一般有两种通信方式,tcpunix socket
    TCP方式就是使用TCP端口连接,一般是127.0.0.1:9000
    Socket是使用unix domain socket连接套接字/dev/shm/php-cgi.sock(很多教程使用路径/tmp,而路径/dev/shm是个tmpfs,速度比磁盘快得多),在服务器压力不大的情况下,tcp和socket差别不大,但是在压力比较满的时候,使用套接字方式,效果比较好

     添加nginx的server配置文件
    
     server {
            listen 80 default_server;
            listen [::]:80 default_server ipv6only=on;
            root /website/vsonweb;
            index index.html index.htm index.php;
            server_name www.vsonweb.com vsonweb.com;
            error_page 404 /website/vsonweb/404.html;
            error_page 500 502 503 504 /website/vsonweb/50x.html;
            location ~ \.php$ {
                    fastcgi_split_path_info ^(.+\.php)(/.+)$;
                    fastcgi_pass 127.0.0.1:9000;
                    fastcgi_pass unix:/var/run/php5-fpm.sock;
                    fastcgi_index index.php;
                    include fastcgi_params;
            }
    }
    
    • 配置php5-fpm
    使用命令查看 dpkg –S php5 的安装情况,找到 www.conf,修改listen。
    
    /etc/php5/fpm/pool.d/www.conf
    • 修改php.ini配置
    /etc/php5/fpm/php.ini
    cgi.fix_pathinfo=0
    
    • 重启 nginx 和 php-fpm 服务
    sudo /etc/init.d/nginx restart
    sudo /etc/init.d/php5-fpm restart
    
    • 这里,遇到了一个问题,nginx重启失败


      error.png
    sudo nginx –t
    
    msg.png

    照着错误提示修改即可

    结语


    ok,搭建lnmp就这么几步过程了,而我在搭建过程中遇到的问题,也都整理进去了。但是,这距离一台可持续维护且功能完善的linux服务器,还差得远~

    本文出自半醒的狐狸博客

    相关文章

      网友评论

        本文标题:linux:ubuntu下搭建LNMP环境

        本文链接:https://www.haomeiwen.com/subject/qmeupttx.html