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

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

一、对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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容