这是一篇个人笔记。主要记录自己工作和学习过程中一些开发环境配置要点,以后再更换电脑时可参考。
虚拟机及主机基本配置
- 虚拟机联网
- 主机与虚拟机ssh互通
- 主机与虚拟机文件夹共享
这个部分内容的笔记全都详细地记录在:mac os下centos虚拟机的安装、网络及文件共享配置。
centos下的软件配置
wget
这个基本的工具,centos没有自带。
vim
centos默认只有vi,没有vim
node
到node官网找到linux x64二进制包的下载链接:
进入虚拟机,运行:1
mkdir -p /home/downloads
作为以后系统下载新包时的文件夹。
然后通过wget下载node的二进制包:1
wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz
1 | [root@localhost downloads]# ls |
然后运行一下:1
2xz -d node-v10.16.0-linux-x64.tar.xz
tar -xvf node-v10.16.0-linux-x64.tar
这样node的二进制文件夹就解压出来了:1
2
3[root@localhost downloads]# cd node-v10.16.0-linux-x64
[root@localhost node-v10.16.0-linux-x64]# ls
bin CHANGELOG.md include lib LICENSE README.md share
node已经可以在/home/downloads/node-v10.16.0-linux-x64/bin下面可以直接拿来用了,但是这样肯定用起来不方便。
第一步先把node-v10.16.0-linux-x64这个文件夹移动到/usr/local目录,/usr/local目录是centos大部分软件的安装目录,所以放到那里比较合适:1
mv node-v10.16.0-linux-x64 /usr/local/node
然后运行下面的命令,把/usr/local/node/bin下的可执行文件部署到PATH路径:1
2ln -s /usr/local/node/bin/node /usr/local/bin/node
ln -s /usr/local/node/bin/npm /usr/local/bin/npm
最后通过下面的命令来检查node跟npm是否全局可用:1
2
3
4[root@localhost node]# node -v
v10.16.0
[root@localhost node]# npm -v
6.9.0
cnpm
装好以后,运行下面的命令让cnpm全局可用:1
ln -s /usr/local/node/bin/cnpm /usr/local/bin/cnpm
原本想直接把前端的node_modules通过centos的cnpm来安装,结果发现cnpm install不成功,这个跟代码位于共享文件夹有关。所以最后还是只能妥协到用mac主机的cnpm来安装node_modules,并在mac主机下运行npm的脚本。
lnmp
这是在centos里面配置php mysql nginx开发环境最方便的一个方式。
安装方式:https://lnmp.org/install.html
我个人觉得特别好用。
这次mac作为主机,nginx的网站运行起来出现403错误,以前在win10里面没遇到过。我猜是跟权限有关系,因为nginx默认是使用www组的www用户来运行的,如果这个权限不够的话,可能就会有问题,而且由于网站代码是在共享文件夹中的,即使对文件夹使用chown命令来更改文件夹的用户和所属组都不会生效。解决方式:
第一步,将www用户添加到vboxsf这个组。以保证www用户对共享文件夹内文件的访问权。1
usermod -a -G vboxsf www
第二步,修改/usr/local/nginx/conf/nginx.conf1
vim /usr/local/nginx/conf/nginx.conf
把user www www;改为user www vboxsf;
第三步,修改/usr/local/php/etc/php-fpm.conf1
vim /usr/local/php/etc/php-fpm.conf
把里面用户的www组,都改为vboxsf。
最后,重启php-fpm和nginx。
scp使用
使用scp命令进行文件传输git升级
centos自带有一个较低版本的git,需要做下升级。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22#卸载旧版本
yum remove git
rm /usr/bin/git
#安装依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
#下载git源码包
cd /home/downloads
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
#更多地址:https://mirrors.edge.kernel.org/pub/software/scm/git/
#解压源码包
tar git-2.9.5.tar.gz
cd git-2.9.5
#准备编译
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc
如果第一个make遇到如下类似错误:1
2
3
4
5
6
7
8libgit.a(utf8.o):在函数‘reencode_string_iconv’中:
/home/downloads/git-2.9.5/utf8.c:463:对‘libiconv’未定义的引用
libgit.a(utf8.o):在函数‘reencode_string_len’中:
/home/downloads/git-2.9.5/utf8.c:502:对‘libiconv_open’未定义的引用
/home/downloads/git-2.9.5/utf8.c:521:对‘libiconv_close’未定义的引用
/home/downloads/git-2.9.5/utf8.c:515:对‘libiconv_open’未定义的引用
collect2: 错误:ld 返回 1
make: *** [git-credential-store] 错误 1
则运行:1
2
3
4
5
6make clean
./configure --without-iconv
make CFLAGS=-liconv prefix=/usr/local/git all
make CFLAGS=-liconv prefix=/usr/local/git install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc
测试:1
2git --version
#2.9.5
composer
1 | curl -sS https://getcomposer.org/installer | php |
配置镜像:1
composer config -g repo.packagist composer https://packagist.phpcomposer.com
scp命令
使用scp命令进行文件传输coreseek
centos安装coreseek作为全文搜索引擎 编译coreseek的php扩展sphinx.so文件supervisor
守护laravel队列进程。
redis
做缓存,做社交系统。
mac下的软件配置
sublime text
安装方式:参考网上资料。配置下面的settings
:1
2"tab_size": 4,
"translate_tabs_to_spaces": true
node
直接到官网下载mac的安装包即可安装。
git
直接到官网下载git的安装包即可安装。
遇到的问题:
打不开“git-2.21.0-intel-universal-mavericks.pkg”,因为它来自身份不明的开发者。
解决方式:
通过spotlight搜索安全性与隐私,允许git的安装:
cnpm
安装方式:https://npm.taobao.org/
遇到的问题:
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
解决方式:
运行:1
sudo su
切换到root用户后,再来执行cnpm的安装命令。
npm或cnpm以后安装东西都有可能遇到权限问题,都可以通过切换到root用户来解决。
hexo
这次是把hexo从win10那边同步到mac来。所以跟hexo官网方式不太一样。把blog从github克隆mac以后。先运行:1
cnpm install -g hexo-cli
之后cd到blog目录,然后运行1
cnpm install
把hexo依赖的库都装好就能跑起来了。
由于今后可能会用到2台电脑写博客,以后新建文章时,资源文件夹即使暂时不放东西,最好也是往里面放一个空的.gitkeep文件,以便能把这个目录提交到git,另外一台电脑就能拉取下来了。
zsh
安装这个是为了让终端用起来更好看。安装方式见官网说明:https://ohmyz.sh/
补充的资料:https://www.jianshu.com/p/0f3dcec21a97
webstorm
开发前端用。官网下载安装包。
phpstorm
开发php用。官网下载安装包。
host文件
直接修改/etc/hosts文件,即可自定义项目的域名。
权限不够需要切换root用户再修改:sudo su。
scp使用
使用scp命令进行文件传输ssh使用
ssh连接基本使用方法brew
这个工具用于mac命令行安装包,类似yum。安装方式:https://brew.sh/
telnet
使用brew安装telnet,方便检测服务器端口是否已开放。1
brew install telnet
检查3306端口是否开启。1
2
3
4▶ telnet 192.168.56.103 3306
Trying 192.168.56.103...
telnet: connect to address 192.168.56.103: Operation timed out
telnet: Unable to connect to remote host
sequelpro
mysql可视化工具。安装方式:http://www.sequelpro.com/