美文网首页
接上篇搭建lnmp环境,补充点后续内容

接上篇搭建lnmp环境,补充点后续内容

作者: 洗耳恭听_kai | 来源:发表于2020-04-30 15:41 被阅读0次

    前言:本来是和上一篇写在一起的,但后面越添越多,索性分开来,上一篇就纯粹为搭建环境吧,这篇主要讲后面安装配置一些东西

    一、对centos7添加开机启动脚本对php进行开机启动服务。

    在centos7中编译安装好php后,系统重启后并不会对php进行开机启动,所以需要对centos7添加开机启动脚本对php进行开机启动服务。

    • 开启配置php-fpm pid

    1.找到php-fpm.conf配置文件

    /usr/local/php/etc/php-fpm.conf`
    

    2.开启pid ,去掉分号注释

    php-fpm.conf
    • 拷贝php-fpm脚本至/etc/init.d目录
    cp /etc/php-7.3.5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    
    image.png
    • 设置权限并启动php-fpm:
    chmod 755 /etc/init.d/php-fpm
    
    /etc/init.d/php-fpm start
    
    chkconfig --add php-fpm
    

    如果上面没有先kill掉php-fpm进程,则使用service php-fpm stop等命令会出现出现 php 7.x 编译安装 Gracefully shutting down php-fpm warning, no pid file found - php-fpm is not running

    解决办法:
    用 kill 办法关闭 php-fpm 进程


    • PHP-FPM 自启动配置服务:
    vim /etc/rc.d/rc.local
    
    rc.local
    • 最后,给出php-fpm以服务的方式启动、停止和重启:
    service php-fpm start
    
    service php-fpm stop
    
    service php-fpm reload
    

    参考:
    https://blog.csdn.net/xiaobinqt/article/details/104966325
    https://blog.csdn.net/aerchi/article/details/83858180

    二、配置mysql开机自动启动

    • centos7与centos6相比有什么不同:
      在centos7中服务不在是用service这个命令来启动与停止,也不再用chkconfig来设置开机启动与否!在centos7中所有对服务的管理都集中到了systemctl当中;systemctl不再是合之前一样依赖/etc/init.d/下的脚本,它是通过配置文件来完成对服务的管理的;
    • 创建systemctl管理mysql的配置文件:
    touch /usr/lib/systemd/system/mysql.service
    
    • 配置mysql.service
    [Unit]
    Description=MySQL Server
    Documentation=man:mysqld(8)
    Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target
    After=syslog.target
    
    [Install]
    WantedBy=multi-user.target
    
    [Service]
    User=mysql
    Group=mysql
    ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
    LimitNOFILE = 5000
    #Restart=on-failure
    #RestartPreventExitStatus=1
    #PrivateTmp=false
    
    • 通过systemctl来启动mysql:
    systemctl start mysql
    ps -ef | grep mysql
    
    image.png
    • 通过systemctl 来设置mysql开机启动:
    systemctl enable mysql
    
    image.png
    1. 查看文件安装路径
      whereis mysql
    2. 查看运行文件所在路径(文件夹地址)
      which mysql

    参考:
    https://www.cnblogs.com/JiangLe/p/7040744.html
    https://blog.csdn.net/u013405116/article/details/90106863

    三、配置nginx开机自动启动

    同上面Mysql的步骤相似

    • 进入到/lib/systemd/system/目录
      cd /lib/systemd/system/
    • vim nginx.service
    [Unit]
    Description=nginx service
    After=network.target 
       
    [Service] 
    Type=forking 
    ExecStart=/usr/local/nginx/sbin/nginx
    ExecReload=/usr/local/nginx/sbin/nginx -s reload
    ExecStop=/usr/local/nginx/sbin/nginx -s quit
    PrivateTmp=true 
       
    [Install] 
    WantedBy=multi-user.target
    

    Description:描述服务
    After:描述服务类别
    [Service]服务运行参数的设置
    Type=forking是后台运行的形式
    ExecStart为服务的具体运行命令
    ExecReload为重启命令
    ExecStop为停止命令
    PrivateTmp=True表示给服务分配独立的临时空间
    注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
    [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

    • 保存退出
    • 赋予脚本执行权限
      chmod +x /usr/lib/systemd/system/nginx.service
    • 设置nginx.service为系统服务
      systemctl enable nginx.service
    • 如果不想开机自启动了,可以使用下面的命令取消开机自启动
      systemctl disable nginx
    • 通过系统服务操作nginx
    systemctl start nginx.service
    systemctl reload nginx.service
    systemctl restart nginx.service
    systemctl stop nginx.service
    

    参考:
    https://www.cnblogs.com/wntd/p/11668293.html
    https://yq.aliyun.com/articles/120160
    https://blog.csdn.net/stinkstone/article/details/78082748

    • 最后,重启服务器,验证一下是否自动启动php-fpm和mysq和nginx


      开机自动启动服务

    四、配置共享文件夹

    由于在开发的时候需要方便使用ide敲代码,所以在windows中建立一个和Linux共享的文件是很有必要的


    环境:

    • virtualbox6.1
      centos7
    • win7

    开始

    • 首先需要搭建好一个系统,centos,ubuntu也行,我这里搭建的是centos7。搭建的时候按照正常步骤搭建就行了,盘选择镜像是你想要搭建的(这里说这个是因为我一开始没有分清,搞的和乱,现在知道了,CentOS-7-x86_64-DVD-1708.ios是搭建centos时选择的盘,后面的VBoxGuestAdditions.ios是安装virtualbox时自带的一个镜像,后面挂载的就是这个东西,所以不要弄混淆了。装系统还是选centos镜像,挂载后面会提到)
    • 安装VBoxLinuxAdditons.run依赖功能
      yum update
      yum install gcc
      yum install gcc-c++
      yum install make
      yum install kernel-headers
      yum install kernel-devel
      (一定要先安装gcc和gcc-c++,再安装下面两个kernel,否则kernel无法完全编译)

    如果出现“Kernel headers not found for target kernel 3.10.0-693.el7.x86_64. Please install them and execute /sbin/rcvboxadd setup”,则
    1.update kernel
    yum update kernel -y
    2.Install the kernel-headers, kernel-devel and other required packages
    yum install kernel-headers kernel-devel gcc make -y

    • 更新到最新的源
      yun update
    • 重启系统,使得环境生效
      reboot
    • 重启系统后,点“设备-》分配光驱”


      image.png
    • 然后在virtualbox界面中点 “设置-》共享文件夹”,路径是你想在本地的哪个地方共享,名称后面会用到


      image.png
    • 查看查看光驱是否挂在IDE控制器下
      输入 lsscsi 出现如下界面——> 其中出现/dev/sr0 代表你已经成功挂载光驱在IDE控制器下
    image.png
    • 建立文件夹
      mkdir /media/cdrom,通过mount 命令挂载到/media/cdrom 目录下
      mount /dev/sr0 /media/cdrom
      image.png
      出现如上图的话就说明挂载成功了
    • 进入刚刚的文件夹中,cd /media/cdrom
      sh ./VBoxLinuxAdditions.run,执行完了后可能会有一个提示Running kernel modules will not be replaced until the system is restarted,只需重启一下系统就可以了
      进入 /media 目录出现sf_share(其中share是代表我共享文件夹的名字 share——前面出现的sf代表成功)
      image.png
    • 试试看是不是可以共享了,在linux中新建一个文件看看windows里共享文件夹里是否有文件


      image.png
      image.png
    • 以上的是挂载的其中一种方式,下面讲一个更简单的

    挂载到指定文件夹

    • 上面的方式设置的是自动挂载,所以挂载到的位置是系统根目录下的media中,下面一个方式是可以挂载到指定的位置

    如果设置里勾选了“自动挂载”的话,则系统会自动挂载到根目录下的media文件夹下,如果不选择“自动挂载”,则可以自己选择挂载到服务器的位置,如:我要挂载到/usr/local/nginx/html中,以方便敲代码,则只需输入代码 mount -t vboxsf share /usr/local/nginx/html,再reboot一下,就可以共享了。

    • 要设置开机自动挂载,则在/etc/rc/rc.local中添加上面的命令mount -t vboxsf share /usr/local/nginx/html即可,然后执行一下权限设置 chmod +x /etc/rc/rc.local,再重启一下就可以开机自动挂载了

    参考:https://www.cnblogs.com/nephyzw/p/12048950.html
    https://blog.csdn.net/buyueliuying/article/details/51645649?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1
    https://blog.csdn.net/qq_22156459/article/details/88049089
    https://blog.csdn.net/nanalinlinlin/article/details/47169811
    https://www.jianshu.com/p/39327c9ea368

    相关文章

      网友评论

          本文标题:接上篇搭建lnmp环境,补充点后续内容

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