Macbook pro从购买服务器到搭建服务器环境(1)
查看进程命令:
ps -ef |grep *** ps -ef | grep nginx ps -ef | grep mysql ps -ef | grep mongo
ps -ef | grep uwsgi 执行此命令后就出现如下显示:
root 32207 28329 0 17:46 pts/0 00:00:00 grep --color=auto uwsgi
还有另一种查看方式,参数不一样:
ps aux |grep nginx
ps aux |grep uwsgi 两者区别还没有发现,如果看出来区别了我会贴出来的,执行完此命令就出现如下显示:
root 32199 0.0 0.0 112720 980 pts/0 R+ 17:46 0:00 grep --color=auto uwsgi
(写在前面,关于虚拟机和服务器的区别:
虚拟机是本地使用的,使用的是局域网,只能你自己使用,有很强的局限性;
服务器则是公网,所谓公网就是可以让所有人,不论身在何处,机在何处都可以连接你的服务器IP地址,而虚拟机则不行;
虚拟机是免费的,
服务器花钱,都是付费的,价格根据主机的内存和硬盘以及带宽大小不一价格有所波动;)
购买服务器的地址:
我们的服务器买了之后需要安装一个远程连接服务器,来作为中间介质连接服务器和自己的电脑,如果是windows就是用xshell,当然了这个xshell服务很强大,所以是付费版,网上有解密版,自己找去吧,我这里是Mac用的远程连接服务器,xshell不支持Mac,但是官网有提供解决方案,有5种方案,自己去官网可以看到,按照提示操作即可,我反正是没有打开过那个官网的下载安装包,直接无法访问。所以我们需要重新找一款远程连接的软件,用来操作服务器窗口。
然后用它来配置环境,安装各种软件包,所以我现在是卡在了远程连接的软件上了。一般是Windows系统需要安装一个远程连接的软件,Mac可以不装这个远程连接软件,它自己本身就能远程连接服务器。
也可以用Mac装xshell,不过需要通过一个中间介质crossover(地址:https://www.codeweavers.com/products/crossover-mac),先把这个crossover装好了才能装xshell,而这个corssover是需要付费了,有免费试用版,为期14天,过期后需要续费,而xshell也是付费版,有试用版,过期后需要付费,所以xshell要用在Mac上还是困难重重的,有其他的远程连接软件,不如xshell好用,功能没有他那么强大,但是凑合还是可以用的(例如:http://www.hostbuf.com/t/1059.html)。
服务器官网推荐的shuttle用来连接ssh,这个是免费的地址:https://blog.csdn.net/blue_zy/article/details/78868795。
还没有选好用哪种方式来远程连接服务器,明天再选,今天太晚了。
其实Mac自己的终端是可以直接连接服务器的,不是必须要用一个中间介质也就是上面说到的远程连接服务器的软件。下面我们就用Mac自带的终端来连接服务器试一下
输入:ssh root@123.56.28.22 (ssh是固定格式,root是账户名,一般都是默认root,除非你自己自定义过别的名字,@后面就是公网IP地址
然后会提示输入密码
root@123.56.28.22's password:
自己输入所连接的IP密码即可
弹出下面的内容,就是登陆的日志,最近一次登陆以及本次登陆的日志,说明已经连接上了服务器
Last failed login: Sun Aug 12 06:30:46 CST 2018 from 192.99.66.122 on ssh:notty There was 1 failed login attempt since the last successful login. Last login: Sat Aug 11 23:41:35 2018 from 45.124.44.153 Welcome to Alibaba Cloud Elastic Compute Service !
一般刚买的服务器主机会给你一个随机密码,你可以自己改成自己想要的密码,输入指令
passwd
然后就输入新密码,需要再确认输入一次,就改好了。
在centos:7下面搭建环境,先安装python3(因为系统自带python2所以我们自己要装3)
这里是下载安装包,直接把命令copy到命令行即可
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
注意该博文下有我自己的评论,在安装python3 之前先下载一些模块,以避免后续的坑博客中有介绍,一条一条命令粘贴复制即可,需要注意的是一定要装gcc这个包
yum install gcc
不然后续执行configure命令会卡住。
加压,然后make,make install
然后建立软连接,
就可以用了,直接在终端输入python3试一下
再接下来就是使用pip3装一下Django/flask/redis等等的python安装包
然后下载安装nginx,
然后我们用国外的主机服务器就可以搭建VPN,把VPN搭建好之后就可以FQ了,VPN需要下载中间介质软件在服务器里面才能搭建VPN环境,然后手机也可以通过中间软件来连接我们的VPN,手机就同样可以FQ了。
最后部署项目的时候(项目部署只能在服务器上部署,在本地是部署不了的,只有放到服务器上,才是真正的上线,利用服务器的公网IP,可以实现全球范围内的用户访问该项目程序),使用nginx和uwsgi搜一下博客把该配置的参数还有配置文件都按要求配好即可。
这里先罗列我遇到的坑,因为要不断试错,所以我借别人的服务器,把已安装的python环境给卸载了,
在网上搜到了执行命令:
[root@test
~]
# rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ##强制删除已安装程序及其关联
简直是作死,把自带的python2也删掉了,然后就连带着yum包的依赖也没有了,所以我必须要重装python2才能继续其他的操作,
下载安装包:(指定到自己想存放压缩包的路径下)我的压缩包路径是/root/tmp
wget https://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz
解压:
tar -zxvf Python-2.7.5.tgz
进入解压文件:
cd Python-2.7.5
指定安装路径:使用prefix参数指定
./configure --prefix=/usr/python --enable-shared 这里是指定到跟目录的usr/python下
开始编译安装:
make
make install
建立软连接:
ln -s /usr/python/bin/python2 /usr/bin/python
ln -s /usr/python/bin/pip /usr/bin/pip
此时,应该是直接命令行输入:python,
提示:
[root@iZ2ze1bnek6gl43v4yl3hqZ tmp]# python
Python 2.7.5 (default, Aug 15 2018, 17:24:30)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
顺利进入了python解释器。
如果是这样的提示信息:
python: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
就说明是报错了,这个错误信息简单翻译一下就是没有找到共享文件,我推测了一下会出现这个错误的原因是我的压缩包在一个我指定的路径下,然后我的程序又被我指定在另一个路径下安装的,所以系统找不到这个共享文件,我们通过一些命令把共享文件路径加到指定的配置文件中即可解决。
命令行输入: vi /etc/ld.so.conf 编辑文件
把你安装的路径下的python的lib库路径写进去,文件末尾处即可。我这里是 /usr/python/lib
cat /etc/ld.so.conf 写入后查看你写入的信息
再命令行执行一句: /sbin/ldconfig -v
就可以进入到python解释器了,直接输入python即可。
接着安装git
先查看git是否已经安装:
git --version
一般系统默认的都是在/usr/bin下面的1.8版本,我们用不了这个版本,需要下载最新的git version 2.3.0
然后源码安装:(一般我们都是把自己安装的软件包放到/usr/local/bin下面的路径下)
wget https://github.com/git/git/archive/v2.3.0.zip
解压:
unzip v2.3.0.zip (此时如果没有unzip命令,就安装一下解压软件yum -y install zip unzip,装好后再执行解压命令即可)
进入解压后的路径下:
cd git-2.3.0
再执行如下,编译安装指令:
make prefis=/usr/local/git all
make prefix=/usr/local/git install
此时我们的git版本还没有切换到刚刚安装的2.3版本中,需要把刚刚安装的路径加到配置文件中:
vim /etc/profile
进入编辑模式,然后把路径放到文件的最后即可,保存退出。
export PATH=/usr/local/git/bin:$PATH
再执行如下命令,即可使用2.3版本的git:
source /etc/profile
到此安装完成。
然后就是配置ssh
在命令行输入指令创建用户名和邮箱
git config --global user.name "wenbo" git config --global user.email "1050794513@qq.com"
再用命令行创建公钥
ssh-keygen -t rsa -C "1050794513@qq.com"
此时如果是第一次创建公钥会让你输入创建公钥所存放的文件路径
Generating public/private rsa key pair. Enter file in which to save the key (/Users/dream-mac/.ssh/id_rsa):
还会让你输入密码
Enter passphrase (empty for no passphrase): Enter same passphrase again:
一般是一路会车,用默认的即可,这个密码以后也用不到。
然后查看公钥
cd .ssh
cat id_rsa.pub
然后把公钥复制到你的GitHub上的公钥设置处(默认你已经有GitHub地址了,点击你自己的头像,然后会有下拉框,再点击Settings,会进入一个页面,看左侧菜单,有SSH and GPG keys一栏,进入后会看到右边有绿色的按钮“New SSH key”,title一栏随便写点啥,把复制的公钥贴到key一栏中保存即可。)
如果是第一次创建公钥,按照这个流程一路下来就可以创建公钥了。
如果出现
Warning: Permanently added the RSA host key for IP address '13.229.188.59' to the list of known hosts. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for '/Users/dream-mac/.ssh/id_rsa' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "/Users/dream-mac/.ssh/id_rsa": bad permissions git@github.com: Permission denied (publickey). fatal: Could not read from remote repository.
是权限设置的问题,你可以试一下这个指令(把权限从0644降到0600):
chmod 0600 ~/.ssh/id_rsa
好了,到这里就是按照配置完成了,接下来就是使用了,在另一篇博客里有使用教程。
这里有安装方式还有配置文件具体配置方法,就这样装即可。
需要补充的一点是,在配置过程中需要修改ulimit文件,这个地址是在另外的博客里面,我一并贴到这里来
mongodb安装完需要加上开机自动启动服务,在指定文件中加入启动命令即可。
mongodb的启动方式有两种,一种是用安装目录下的启动文件来启动,就是
/usr/local/mongodb/bin/mongod
这种方式需要占用一个窗口,就是console.log所有的debug信息,不是很方便,一但窗口被关闭,服务也就当机了
还有就是用service来操作服务
service mongodb start/stop/restart
这种不需要占用窗口,在后台启动服务,即便推出服务器,只要服务器还运行中,就一直挂载服务。推荐这种启动方式。
vim /etc/rc.d/rc.local
把启动命令加进去
service mongodb start
保存推出。重启服务器:
reboot
再连接服务器,就能看到mongod服务已经启动
ps -ef|grep mongod mongod 3127 1 3 15:09 ? 00:00:01 /usr/bin/mongod -f /etc/mongod.conf root 3511 3444 0 15:09 pts/0 00:00:00 grep --color=auto mongod
这里需要补充的是zlib的下载地址有变,上面博客地址里面的地址改成这里的:
wget http://prdownloads.sourceforge.net/libpng/zlib-1.2.11.tar.gz?download
安装uwsgi:
yum install uwsgi
启动uwsgi
uwsgi --http :8001 --wsgi-fil hello.py 这里的hello.py是自己写的文件,你自定义即可,不需要加上路径,直接贴到这里来
这里是源码安装
1,下载地址:/usr/local/bin 安装包地址
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
2,解压:
tar xzvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
3,复制安装包到本地软件目录
cp mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql -r
4,添加系统mysql组和mysql用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
5,进入安装mysql软件目录,修改目录拥有者为mysql用户
cd mysql/
chown -R mysql:mysql ./
6,安装数据库
./scripts/mysql_install_db --user=mysql
这里我遇到到报错信息是:
[root@rhel6 mysql]# scripts/mysql_install_db --user=mysql WARNING: The host 'rhel6.myexample.com' could not be looked up with ./bin/resolveip. This probably means that your libc libraries are not 100 % compatible with this binary MySQL version. The MySQL daemon, mysqld, should work normally with the exception that host name resolving will not work. This means that you should use IP addresses instead of hostnames when specifying MySQL privileges !
解决方案:
原因:主机名解析错误。 解决:hosts文件中添加如下内容,ok! [root@rhel6 mysql]# vi /etc/hosts 123.56.28.22 rhel6.myexample.com # 这里只需要改成你自己到IP地址即可
7,修改当前目录拥有者为root用户
chown -R root:root ./
8,修改当前data目录拥有者为mysql用户
chown -R mysql:mysql data
截止到此就已经安装完成了
======================================================================================
这里是额外操作:
添加mysql服务开机自启动
添加开机启动,把启动脚本放到开机初始化目录。
cp support-files/mysql.server /etc/init.d/mysql # 赋予可执行权限 chmod +x /etc/init.d/mysql # 添加服务 chkconfig --add mysql # 显示服务列表 chkconfig --list
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则执行
chkconfig --level 345 mysql on
启动mysql服务
#创建缺少的文件夹 mkdir /var/log/mariadb service mysql start 如下所示: [root@ZhaojxSV mysql]# service mysql start Starting MySQL. [ OK ] # 服务启动成功 把mysql客户端放到默认路径 ln -s /usr/local/mysql/bin/mysql /usr/bin (系统默认就是从这个/usr/bin下面开始寻找命令,所以软链接都是在这个路径下面) 通过使用 mysql -uroot -p 连接数据库(默认数据库的root用户没有密码,这个需要设置一个密码)。 错误信息:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 解决方法:打开/etc/my.cnf,看看里面配置的socket位置是什么目录。“socket=/var/lib/mysql/mysql.sock” 路径和“/tmp/mysql.sock”不一致。建立一个软连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock 到这里任务算是完成了。 删除匿名用户: 先测试 mysql -ux3 show databases; 可以看到两个库:test,infomation_schema 退出 exit; 重新登陆使用root用户登陆: mysql -uroot -p mysql 执行命令删除匿名用户: delete from mysql.user where User=''; flush privileges; 再测试匿名用户: mysql -ux3 报错,就说明已经删除了 此时我们的mysql还是没有密码的,要设置密码,就直接登陆mysql,然后使用里面的sql语句来修改密码: mysql -uroot -p mysql update mysql.user set password = PASSWORD('zn6205938*') where user = 'root'; FLUSH PRIVILEGES; 到这里就修改完密码了 退出 exit; 重新进入就必须要输入我们上面设置的密码才可以进入服务。
之前由于mysql启动密码找不到,然后可以修改帮助重设密码的文件都被设限,几番尝试,始终陷入死循环,所以就把mysql卸载了重新安装
sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* vim /etc/hostconfig (and removed the line MYSQLCOM=-YES-)
rm -rf ~/Library/PreferencePanes/My* sudo rm -rf /Library/Receipts/mysql* sudo rm -rf /Library/Receipts/MySQL* sudo rm -rf /var/db/receipts/com.mysql.*
最后查看系统偏好设置里面的mysql图标是否消失,如果消失,
good luck
已经被卸载了。
在mac上本地安装mysql
有两种方法:
brew install mysql(没错,就执行这一句话,然后系统会自动帮你安装好一切。不过本人还是推荐另一种安装方法)
我个人Mac系统版本:10.13.6
安装的mysql版本是5.6.39 戳这里是官网地址
下载好后,找到下载的文件,一般是Mac的下载里面,双击文件,解压,然后自动安装,一路点击继续即可。
需要注意的是,在安装过程中会有弹窗,里面有初始默认密码,需要记下来,稍后会用到。如果忘记及时记下来这个初始密码,后面会有解决方案。
安装好之后,就开始进行配置了。
在系统偏好设置中找到mysql图标,然后点击,启动mysql服务。
在命令行输入指令,进行路径配置
vim ~/.bash_profile
编辑文件,把下面的命令加入进去
PATH=$PATH:/usr/local/mysql/bin
esc
:
wq
按顺序输入到命令行,即保存文件修改并推出。
再输入一行命令
source ~/.bash_profile
登陆mysql
mysql -uroot -p
因为我们上面把路径加入进去了,所以在任意路径下都可以直接启动mysql登陆命令
然后命令窗口提示
Enter password:
此时输入我们在安装mysql的时候记下的初始密码。
然后修改密码:
flush privileges;
set password for root@'localhost'=password('123');
推出mysql
exit;
这个时候在任意路径下直接输入mysql不需要输入密码就可以进入mysql界面,因为有一个匿名用户的存在,上面有匿名用户的删除方法,几行命令而已,往上翻几行即可看到,把匿名用户删掉之后
然后就可以顺利使用了。
再补充一下忘记初始密码的补救办法
先进入到mysql下的bin目录下
cd /usr/local/mysql/bin
调用root用户
sudo su
此时需要你输入你自己的Mac密码,就是一开始买回Mac的时候设置的root命令权限密码。
然后就会提示‘sh-3.2#’
如下所示
sh-3.2#
然后把命令直接敲在后面
./mysqld_safe --skip-grant-tables &
然后重新开启一个终端窗口,输入
mysql
即可进入mysql界面,再回到上面去重设密码即可。