腾讯云Ubuntu14.0安装PHP7.1.29、MySQL5.7.26、Nginx1.4.6
基本没用过linux系统,所以一切都是摸索,经过几天的奋战,我是真滴菜,不过经过各种磨难,总算把LNMP环境配好了,各种坑,各种卸载,各种重装系统,最后想总结的话就是,尽量源码安装,不要用apt-get,因为真的有时候不知道软件相关的目录也是很麻烦的一件事情。
PHP的安装
现在总结一下PHP的源码安装过程。
(1)源码安装包下载
首先切换到当前用户的home目录下:cd ~
然后使用wget命令下载源码包 https://www.php.net/distributions/php-7.1.29.tar.bz2,
输入命令:wget https://www.php.net/distributions/php-7.1.29.tar.bz2
这个包下载到了我的/home/ubuntu目录下面。我买的腾讯云下载速度很慢,所以我用自己的电脑先下载下来,然后使用WinSCP直接上传到/home/ubuntu下面了。连接WinSCP的时候有个坑,注意用户名应该是ubuntu,而不是root。因为腾讯云给系统设置的用户名用的是ubuntu。
(2)解压源码包
tar -xvf php-7.1.29.tar.bz2 大部分网上说用-zxvf ,可是我的提示有错误,搜索了下,去掉z即可。亲测如此。
(3)进入解压后的文件夹
cd php-7.1.29
(4)编译,生成编译文件
这里的编译参数很重要,直接影响到PHP扩展的安装,包括到连接数据库的问题。之前php-fpm无法使用apt-get安装,最后通过重新编译解决的。pdo和pdo-mysql无法使用apt-get和源码安装成功,最后也是重新编译PHP,然后重新make ,make install的才解决了问题。这里重点是把编译参数记录一下。
./configure \
--prefix=/usr/local/php \
-with-config-file-path=/etc/php
-enable-fpm \
-enable-pcntl \
-enable-opcache \
-enable-sockets \
-enable-sysvmsg \
-enable-sysvsem \
-enable sysvshm \
-enable shmop \
-enable-zip \
-enable-soap \
-enable-xml \
-enable-mbstring \
-disable-rpath \
-disable-debug \
-disable-fileinfo \
-with-mysql=mysqlnd \
-with-mysqli=mysqlnd \
-with-pdo-mysql=mysqlnd \
-with-pcre-regex \
-with-iconv \
-with-zlib \
-with-mcrypt \
-with-gd \
-with-openssl \
-with-mhash \
-with-xmlrpc \
-with-curl \
-with-imap-ssl
是看起来很多,开始我也觉得不用配这么多参数,觉得就配置第一行的安装目录就行,但是我经历的事实告诉我,只要参数配好了,其他什么用ap-get或者源码安装各种需要的扩展都不用再去搞了。所以编译很重要,千万不要嫌麻烦,这里省事了,后面会更麻烦!另外记得一点就是,少了什么扩展,找到对应参数重新编译就能搞定,第二次编译等后面编译,可以不再指定安装目录,会默认第一次安装的目录
(5)用apt-get安装一下make,反正我的系统开始没装
然后输入命令:make
(6)安装
make install
就这样基本就搞定,没有额外再搞php.ini的配置
MySQL的安装
(1)推荐源码安装,不推荐用apt-get安装,因为不是很清楚各种目录
此处记录一下用apt-get安装的mysql的各种默认目录:
客户端程序和mysqli_install_db:/usr/bin
数据库和日志文件:/var/lib/mysql
服务器:/var/run/mysqld
字符集:/usr/share/mysql
启动MySQL服务器:/etc/init.d/mysql
配置文件:/etc/mysql/my.cnf
(2)mysql5.7.26 源码包下载地址:
https://dev.mysql.com/downloads/file/?id=485748, 我也是直接下载下来然后用WinSCP上传到服务器的。wget使用的下载链接不太会弄。
(3)具体安装过程我主要参考的这篇操作。https://www.cnblogs.com/ghostwu/p/8485819.html, 安装过程中boost的安装很慢,然后make install 数据库安装包的时候安装的也很慢,等待就行。很容易出现sock的错误,反正我装了两遍,然后基本要学会看mysql的错误日志来排错,不能根据网上的瞎改,因为很有可能自己跟别人的目录不一样,一定要搞清楚自己的目录。
常用的查看文件所在目录和搜索文件的命令:
find XXXX ,查找路径默认为当前所在目录下 # find [options] [查找路径] [查找条件] [处理动作]
whereis XXXXX
which XXXXX 等,详细的查找参考命令可以参看这篇文章,https://www.cnblogs.com/kex1n/p/5233821.html 总结的很好。
(4)附my.cnf的配置,在/etc/下面
最后出现的错误是个常见的用户权限错误,修改root的密码就行。祝各位成功。
Nginx的安装
(1)这个直接就apg-get安装就行
命令:sudo apt-get install nginx
(2)修改配置文件
系统安装的Nginx版本为Nginx1.4.6,配置文件所在位置:/etc/nginx/sites-available/default,修改default文件的内容。这是修改后的图片。
关于PHP和MySQL数据库的连接
(1)检查phpinfo()
PHP编译并成功安装,那么phpinfo()里面应该就包括了这重要内容:(在浏览器输入自己的云服务器外网地址)
(2)html和PHP文件放到 /usr/share/nginx/html 网站根目录下,在浏览器输入ip地址/文件名就可以访问了。
测试文件1:测试PDO连接
测试文件2:测试mysqli连接
注意事项: $servername = "127.0.0.1"是必须的,localhost会报错
(3)数据库连接成功界面
配了整整一周左右,最后看到这个想哭。也是自己太菜了。此篇文章仅作为自己过程的记录和笔记,不喜勿喷。
笔记
(1)php-config的目录:
/usr/loca/php/bin/php-config
(2)nginx的错误日志所在目录:
var/log/nginx
(3)Nginx开启、停止、重启命令:
/etc/init.d/nginx start | stop | restart
(4)mysql.server所在目录:
/mysql-5.7.26/support-files
(5)mysql-config的目录:
/usr/local/mysql/bin/mysql-config
(6)mysql-safe的目录:
/usr/local/mysql/bin/mysql-safe
(7)mysql_install_db的目录:
/usr/local/mysql/bin
(8)nginx安装目录:
/etc/nginx
(9)网站根目录:
/usr/share/nginx/html
(10)mysql的错误日志文件:
/usr/local/mysql/data/VM-0-5-ubuntu.err
(11)mysql开启、停止、重启的命令:
/etc/init.d/mysqld start | stop | restart
(12)nginx的配置文件:
/etc/nginx/sites-available/default
(13)mysql的配置文件
/etc/my.cnf
(14)xshell连接腾讯云出现问题的解决方法:
登录腾讯云网站,重置服务器密码即可
学无止境,任重道远。尽管遇到各种问题,去解决就是了,放松心态,但不能放弃。