美文网首页
Linux服务器即LNMP环境搭建(Git仓库上篇)

Linux服务器即LNMP环境搭建(Git仓库上篇)

作者: 奥小晨 | 来源:发表于2018-02-09 14:55 被阅读0次

    前言:上一篇写到Git仓库的搭建,有朋友说服务器还没搭建好,所以这里来一篇环境搭建的。

    注:我搭建是Centos6版本以上的,Centos7以上有大的改变

    一、配置防火墙,开启80端口、3306端口,删除原有的iptables ,添加合适的配置

    rm -rf /etc/sysconfig/iptablesvim /etc/sysconfig/iptables

    添加一下内容:

    # Firewall configuration written by system-config-firewall# Manual customization of this file is not recommended.*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icmp-host-prohibitedCOMMIT

    :wq保存退出,重启防火墙使配置生效

    /etc/init.d/iptables restart    centos 7.0以上执行  systemctl restart firewalld.service

    关闭SELINUX

    rm -rf  /etc/selinux/configvim /etc/selinux/config

    然后添加一行内容:

    SELINUX=disabled

    :wq 保存退出

    进行重启系统

    shutdown -r now

    注意:配置好防火墙必须重启系统

    二、安装第三方yum源

    安装下载工具

    yum install wget

    下载

    wget http://www.atomicorp.com/installers/atomic

    安装

    sh ./atomic

    更新yum源

    yum check-update

    三、安装Nginx

    删除系统自带的软件包

    yum remove httpd* php*

    安装nginx

    yum install -y nginx

    设置nginx开机启动

    chkconfig nginx on  Centos 7.0 以上执行 systemctlenablenginx.service

    启动nginx

    service nginx startCentos 7.0 以上 systemctl start  nginx.service

    注:nginx启动可能失败,需要修改配置文件报错如下

    Starting nginx:nginx:[emerg] socket() [::]:80 failed (97:Address family not supported by protocol)  [FAILED]

    处理方法

    vim /etc/nginx/conf.d/default.conf

    listen      80 default_server;

    listen      [::]:80 default_server;

    改为:

    listen      80;#listen      [::]:80 default_server;

    保存退出:wq,重启成功

    启动成功后,打开浏览器,输入ip地址,可看到nginx欢迎页

    四、安装PHP

    检查当前安装的PHP包

    yum list installed | grep php

    如果有安装的PHP包,先删除他们,如:

    yum remove php.x86_64 php-cli.x86_64 php-common.x86_64

    配置安装包源:

    Centos 5.X

    rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm

    CentOs 6.x 

    rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

    CentOs 7.X 

    rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm 

    rpm -Uvh  https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

    注:不同版本服务器需要配置对应的安装包,如果想删除上面安装的包重新安装

    rpm -qa | grep webstaticrpm-e[上面搜索到的包即可]

    执行安装

    yum -y install php56w.x86_64

    yum -y --enablerepo=webtatic install php56w-devel

    yum -y install php56w-gd.x86_64 php56w-ldap.x86_64  php56w-mbstring.x86_64 php56w-mcrypt.x86_64

    yum -y install php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-opcache.x86_64

    注:每条命令看到Complete!才成功

    安装PHP FPM

    yum -y install php56w-fpm

    设置php-fpm开机启动

    chkconfig php-fpm onCentos7.0以上  systemctlenablephp-fpm.service

    启动php-fpm

    /etc/init.d/php-fpm startCentos 7.0 以上 systemctl start  php-fpm.service

    注:如果想更换到php5.5或5.4版本,直接把上面的56w换成55w或者54w就可以了

    五、 安装 MySQL

    安装

    yum install -y mysql mysql-server

    启动MySQL

    /etc/init.d/mysqld start

    设为开机启动

    chkconfig mysqld on

    拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)

    cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

    为root用户设置密码

    mysql_secure_installation

    回车,根据提示输入Y,输入2次密码,回车,根据提示一路输入Y,最后出现:

    Thanksforusing MySQL!

    MySql密码设置完成,重新启动 MySQL:

    #重启

    /etc/init.d/mysqld restart

    停止

    /etc/init.d/mysqld stop

    启动

    /etc/init.d/mysqld start

    六、配置nginx

    我存放的nginx路径地址

    [root@iZ2zeftluibm3hesz36v3tZ conf.d]# pwd/etc/nginx/conf.d

    [root@iZ2zeftluibm3hesz36v3tZ conf.d]# lltotal 20-rw-r--r-- 1 root root 1501 Feb  9 10:54 admin.shop.conf-rw-r--r-- 1 root root  434 Dec 25 20:39 default.conf.bak-rw-r--r-- 1 root root 1419 Feb  8 17:19 web.shop.conf

    因为nginx.conf里面

    include /etc/nginx/conf.d/*.conf;

    在/etc/nginx/conf.d下面新建一个.conf的文件 把这个东西复制进去 

     {              

          listen  80;       

           server_name    解析域名;           

         index index.php index.html index.htm default.html default.htm default.php;                          client_header_buffer_size 16k;            

      large_client_header_buffers 4 32k;            

      client_max_body_size 300m;             

     client_body_buffer_size 128k;           

       location / {                      

      root              项目路径;                        

    index              index.php;                    

        proxy_connect_timeout 3000;                  

          proxy_send_timeout 3000;                 

           proxy_read_timeout 3000;                      

      proxy_buffer_size 4k;                     

       proxy_buffers 4 32k;                       

     proxy_busy_buffers_size 64k;

    if(!-e$request_filename) {                      

      rewrite ^/index.php(.*)$ /index.php?s=$1last;                   

         rewrite ^(.*)$ /index.php?s=$1last;break;                                     

                 }                     

         }           

       location ~ \.php$ {            

                root              项目路径;      

                fastcgi_pass  127.0.0.1:9000;   

                 fastcgi_index  index.php;       

                 fastcgi_param  SCRIPT_FILENAME$document_root$fastcgi_script_name;                                    include        fastcgi_params;                        

          }

    }

    :wq 保存退出

    七、 配置php-fpm

    vim /etc/php-fpm.d/www.conf

    将用户和用户组设置为nginx,如:

    修改用户为nginx

    user = nginx

    修改组为nginx

    group = nginx

    八、开始测试

    cd/var/wwwvim index.php

    添加以下代码

    phpinfo();

    ?>

    :wq!

    保存退出

            #设置权限

    chown nginx.nginx /var/www -R

            #重启nginx

    service nginx restart

            #重启php-fpm

    service php-fpm restart

    这时你的mysql数据库不能远程连接的,此时你应该授权一下

    USE mysql;  GRANT ALL PRIVILEGES ON *.* TO'root'@'%'WITH GRANT OPTION;  FLUSH PRIVILEGES;

    注意:GRANT ALL PRIVILEGES表示授权所有权限,上面*.*中第一个*是授权可以访问的数据库名称, root是用户名, %表示授权所有的IP地址。

    到这里就大致写完了,网上搭建服务器环境的很多,我也是综合各个前人经验,加入一些自己的理解,希望对有需要的朋友能有一点小小的帮助。这里推荐我上一篇Git版本库的搭建哦。

    哈哈,知识在于分享,愿大家一块成长。

    掘金地址:https://juejin.im/post/5a7d35625188257a5e5739a6

    相关文章

      网友评论

          本文标题:Linux服务器即LNMP环境搭建(Git仓库上篇)

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