前言:本來是和上一篇寫在一起的,但后面越添越多,索性分開來,上一篇就純粹為搭建環(huán)境吧,這篇主要講后面安裝配置一些東西
一、對centos7添加開機(jī)啟動腳本對php進(jìn)行開機(jī)啟動服務(wù)。
在centos7中編譯安裝好php后,系統(tǒng)重啟后并不會對php進(jìn)行開機(jī)啟動,所以需要對centos7添加開機(jī)啟動腳本對php進(jìn)行開機(jī)啟動服務(wù)。
- 開啟配置php-fpm pid
1.找到php-fpm.conf配置文件
/usr/local/php/etc/php-fpm.conf`
2.開啟pid ,去掉分號注釋

- 拷貝php-fpm腳本至/etc/init.d目錄
cp /etc/php-7.3.5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

- 設(shè)置權(quán)限并啟動php-fpm:
chmod 755 /etc/init.d/php-fpm
/etc/init.d/php-fpm start
chkconfig --add php-fpm
如果上面沒有先kill掉php-fpm進(jìn)程,則使用service php-fpm stop等命令會出現(xiàn)出現(xiàn) php 7.x 編譯安裝 Gracefully shutting down php-fpm warning, no pid file found - php-fpm is not running
解決辦法:
用 kill 辦法關(guān)閉 php-fpm 進(jìn)程

- PHP-FPM 自啟動配置服務(wù):
vim /etc/rc.d/rc.local

- 最后,給出php-fpm以服務(wù)的方式啟動、停止和重啟:
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開機(jī)自動啟動
- centos7與centos6相比有什么不同:
在centos7中服務(wù)不在是用service這個命令來啟動與停止,也不再用chkconfig來設(shè)置開機(jī)啟動與否!在centos7中所有對服務(wù)的管理都集中到了systemctl當(dāng)中;systemctl不再是合之前一樣依賴/etc/init.d/下的腳本,它是通過配置文件來完成對服務(wù)的管理的; - 創(chuàng)建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

- 通過systemctl 來設(shè)置mysql開機(jī)啟動:
systemctl enable mysql

- 查看文件安裝路徑
whereis mysql- 查看運(yùn)行文件所在路徑(文件夾地址)
which mysql
參考:
https://www.cnblogs.com/JiangLe/p/7040744.html
https://blog.csdn.net/u013405116/article/details/90106863
三、配置nginx開機(jī)自動啟動
同上面Mysql的步驟相似
- 進(jìn)入到/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:描述服務(wù)
After:描述服務(wù)類別
[Service]服務(wù)運(yùn)行參數(shù)的設(shè)置
Type=forking是后臺運(yùn)行的形式
ExecStart為服務(wù)的具體運(yùn)行命令
ExecReload為重啟命令
ExecStop為停止命令
PrivateTmp=True表示給服務(wù)分配獨(dú)立的臨時空間
注意:[Service]的啟動、重啟、停止命令全部要求使用絕對路徑
[Install]運(yùn)行級別下服務(wù)安裝的相關(guān)設(shè)置,可設(shè)置為多用戶,即系統(tǒng)運(yùn)行級別為3
- 保存退出
- 賦予腳本執(zhí)行權(quán)限
chmod +x /usr/lib/systemd/system/nginx.service - 設(shè)置nginx.service為系統(tǒng)服務(wù)
systemctl enable nginx.service - 如果不想開機(jī)自啟動了,可以使用下面的命令取消開機(jī)自啟動
systemctl disable nginx - 通過系統(tǒng)服務(wù)操作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
-
最后,重啟服務(wù)器,驗(yàn)證一下是否自動啟動php-fpm和mysq和nginx
開機(jī)自動啟動服務(wù)
四、配置共享文件夾
由于在開發(fā)的時候需要方便使用ide敲代碼,所以在windows中建立一個和Linux共享的文件是很有必要的
環(huán)境:
- virtualbox6.1
centos7 - win7
開始
- 首先需要搭建好一個系統(tǒng),centos,ubuntu也行,我這里搭建的是centos7。搭建的時候按照正常步驟搭建就行了,盤選擇鏡像是你想要搭建的(這里說這個是因?yàn)槲乙婚_始沒有分清,搞的和亂,現(xiàn)在知道了,CentOS-7-x86_64-DVD-1708.ios是搭建centos時選擇的盤,后面的VBoxGuestAdditions.ios是安裝virtualbox時自帶的一個鏡像,后面掛載的就是這個東西,所以不要弄混淆了。裝系統(tǒng)還是選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無法完全編譯)
如果出現(xiàn)“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 - 重啟系統(tǒng),使得環(huán)境生效
reboot -
重啟系統(tǒng)后,點(diǎn)“設(shè)備-》分配光驅(qū)”
image.png -
然后在virtualbox界面中點(diǎn) “設(shè)置-》共享文件夾”,路徑是你想在本地的哪個地方共享,名稱后面會用到
image.png - 查看查看光驅(qū)是否掛在IDE控制器下
輸入 lsscsi 出現(xiàn)如下界面——> 其中出現(xiàn)/dev/sr0 代表你已經(jīng)成功掛載光驅(qū)在IDE控制器下

- 建立文件夾
mkdir /media/cdrom,通過mount 命令掛載到/media/cdrom 目錄下
mount /dev/sr0 /media/cdrom
image.png
出現(xiàn)如上圖的話就說明掛載成功了 - 進(jìn)入剛剛的文件夾中,cd /media/cdrom
sh ./VBoxLinuxAdditions.run,執(zhí)行完了后可能會有一個提示Running kernel modules will not be replaced until the system is restarted,只需重啟一下系統(tǒng)就可以了
進(jìn)入 /media 目錄出現(xiàn)sf_share(其中share是代表我共享文件夾的名字 share——前面出現(xiàn)的sf代表成功)
image.png -
試試看是不是可以共享了,在linux中新建一個文件看看windows里共享文件夾里是否有文件
image.png
image.png - 以上的是掛載的其中一種方式,下面講一個更簡單的
掛載到指定文件夾
- 上面的方式設(shè)置的是自動掛載,所以掛載到的位置是系統(tǒng)根目錄下的media中,下面一個方式是可以掛載到指定的位置
如果設(shè)置里勾選了“自動掛載”的話,則系統(tǒng)會自動掛載到根目錄下的media文件夾下,如果不選擇“自動掛載”,則可以自己選擇掛載到服務(wù)器的位置,如:我要掛載到/usr/local/nginx/html中,以方便敲代碼,則只需輸入代碼 mount -t vboxsf share /usr/local/nginx/html,再reboot一下,就可以共享了。
- 要設(shè)置開機(jī)自動掛載,則在/etc/rc/rc.local中添加上面的命令mount -t vboxsf share /usr/local/nginx/html即可,然后執(zhí)行一下權(quán)限設(shè)置 chmod +x /etc/rc/rc.local,再重啟一下就可以開機(jī)自動掛載了
參考: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
http://www.itdecent.cn/p/39327c9ea368






