腾讯云Ubuntu14.0安装PHP7.1.29、MySQL5.7.26、Nginx1.4.6

4 篇文章 0 订阅
4 篇文章 0 订阅

基本没用过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连接腾讯云出现问题的解决方法:
登录腾讯云网站,重置服务器密码即可

学无止境,任重道远。尽管遇到各种问题,去解决就是了,放松心态,但不能放弃。

编译 ./configure --prefix=/usr/local/php --exec-prefix=/usr/local/php --bindir=/usr/local/php/bin --sbindir=/usr/local/php/sbin --includedir=/usr/local/php/include --libdir=/usr/local/php/lib/php --mandir=/usr/local/php/php/man --with-config-file-path=/usr/local/php/etc --with-mysql-sock=/var/run/mysql/mysql.sock --with-mcrypt=/usr /i nclude --with-mhash --with-openssl --with-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --enable-fpm --enable-fastcgi --with-fpm-user=www --with-fpm-group=www --without-gdbm --with-mcrypt=/usr/local/apps/libmcrypt --disable-fileinfo 报错:1, **configure: error: system libzip must be upgraded to version >=**0.11。 使用Yum最新版只到0.10,不足以达到要求。 一、先删除libzip yum remove libzip -y SSH执行以上命令,先删除libzip 和 libzip-devel 二、下载安装并手动编译 wget https://nih.at/libzip/libzip-1.2.0.tar.gz tar -zxvf libzip-1.2.0.tar.gz cd libzip-1.2.0 ./configure make && make install 三、(可忽略)另外最新版本请参考官网:https://nih.at/libzip/ 1.5.0的libzip需要cmake wget https://libzip.org/download/libzip-1.5.0.tar.gz tar -zxvf libzip-* cd libzip* mkdir build && cd build && cmake .. && make && make install 报错2: error: off_t undefined; check your library configuration 根据报错信息分析 configure: error: off_t undefined; check your library configuration 未定义的类型 off_t。 off_t 类型是在 头文件 unistd.h中定义的,在32位系统 编程成 long int ,64位系统则编译成 long long int ,这里题主的系统应该是 64位的吧,在进行编译的时候 是默认查找64位的动态链接库,但是默认情况下 centos 的动态链接库配置文件/etc/ld.so.conf里并没有加入搜索路径,这个时候需要将 /usr/local/lib64 /usr/lib64 这些针对64位的库文件路径加进去。 采用下面的方法。 添加搜索路径到配置文件 echo '/usr/local/lib64 /usr/local/lib /usr/lib /usr/lib64'>>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值