# 目的 其实也没有什么目的,就是想安装下最新的Ubuntu而已。顺便升级下网站的服务器。 # 其他说明 这篇玩意,纯属瞎倒腾,有空我整理下,最后的结果是。 我使用了 乌邦图,然后用 apache加php。最后终结。 原因是。nginx+php7 就是没解析成功。我表示无语,也不想深究,毕竟是产品服务器,运行起来就好了。 下次有机会,再次探讨,niginx最新版加php7吧~ 毕竟 乌邦图,没有提供 php7的 apt-get install 命令啊,其实安装起来也是挺麻烦的,也不容易维护。 在产品服务器里面应该是最不喜欢这种事情了。 # 安装最新nginx的源 编辑 /etc/apt/sources.list ,添加以下两行:(注意代号前后都有空格) ``` deb http://nginx.org/packages/ubuntu/ trusty nginx deb-src http://nginx.org/packages/ubuntu/ trusty nginx ``` 除了使用VIM编辑器添加之外,同样还可以使用echo命令导入: ``` echo deb http://nginx.org/packages/ubuntu/ trusty nginx >> /etc/apt/sources.list echo deb-src http://nginx.org/packages/ubuntu/ trusty nginx >> /etc/apt/sources.list ``` 然后,同样更新并导入升级Key,成功; ``` wget http://nginx.org/keys/nginx_signing.key apt-key add nginx_signing.key apt-get update ``` apt-get install nginx ## 查看软件最新版本的命令 `apt-cache show 包名称` 可以查询出 ``` root@iZ23qiz8zlpZ:~# apt-cache show nginx Package: nginx Version: 1.10.0-1~trusty Architecture: amd64 Maintainer: Sergey Budnevitch <sb@nginx.com> Installed-Size: 2330 Depends: libc6 (>= 2.14), libpcre3, libssl1.0.0 (>= 1.0.1), zlib1g (>= 1:1.1.4), lsb-base, adduser Provides: httpd Filename: pool/nginx/n/nginx/nginx_1.10.0-1~trusty_amd64.deb Size: 638894 MD5sum: 78fa3be27a09c076b30bca139ce2fa9e SHA1: 3977d9a830163e2b7207dae286d95ecb83f37017 SHA256: 90494b3f53014c5b6b8df813c13b10e5604260b9b739d34bfa608f715a2e1db2 Section: httpd Priority: optional Homepage: http://nginx.org Description: high performance web server nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server. Description-md5: c3ecf9b168b3f5d1b11dda6baf5dd768 ``` # php7 apt-get install python-software-properties apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/php-7.0 <-这个不能用了,使用下面的。 *注意,在今年1月初的时候该地址已经不能使用,如果你之前用了,需要在/etc/apt/sources.list.d中删掉,添加下面这个。 sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get install php7.0-fpm php7.0-cli php7.0-common php7.0-json php7.0-mysql php7.0-opcache php7.0-curl php7.0-mbstring php7.0-mcrypt *注意,如果你之前用了ppa:ondrej/php-7.0添加新的地址后旧的可能无法更新,需要执行:sudo apt-get -u dist-upgrade ``` root@iZ23qiz8zlpZ:~# apt-cache show php Package: php Source: php-defaults (37+donate.sury.org~trusty+2) Priority: optional Section: php Installed-Size: 28 Maintainer: Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org> Architecture: all Version: 1:7.0+37+donate.sury.org~trusty+2 Depends: php7.0 Filename: pool/main/p/php-defaults/php_7.0+37+donate.sury.org~trusty+2_all.deb Size: 4194 MD5sum: 0ed2b625be00d5b2ac441c27137a0109 SHA1: 9401591cfa9993efc1b167fe0b0e493ac6d7a68c SHA256: 17445e82436689ea8a0c489a9d81589e3ca1da4c61cdfffb2a2f4b3917231e84 Description-en: server-side, HTML-embedded scripting language (default) PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. . This package is a dependency package, which depends on Debian's default PHP version (currently 7.0). Description-md5: b955c03ceec2872c327e77278c943d6a ``` ``` root@iZ23qiz8zlpZ:~# sudo apt-get install php7.0-fpm Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libssl1.0.2 php-common php7.0-cli php7.0-common php7.0-json php7.0-opcache php7.0-readline Suggested packages: php-pear The following NEW packages will be installed: libssl1.0.2 php-common php7.0-cli php7.0-common php7.0-fpm php7.0-json php7.0-opcache php7.0-readline 0 upgraded, 8 newly installed, 0 to remove and 182 not upgraded. Need to get 4,395 kB of archives. After this operation, 17.3 MB of additional disk space will be used. Do you want to continue? [Y/n] y ``` 终于装好了 ``` root@iZ23qiz8zlpZ:~# php -v PHP 7.0.6-1+donate.sury.org~trusty+1 (cli) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies ``` 修改下监听方式 listen = /run/php/php7.0-fpm.sock ; listen = 127.0.0.1:9000 http://www.geiliedu.com/manual 为一些原因,需要换一台VPS,所以就需要为服务器转移文件了。但是当我在为原来服务器上的东西打包的时候,问题来了,打包还没有一半,就提示服务器空间不足了!这个上次已经因为空间不足服务器都宕机了,那怎么办?不够空间的话没办法打包啊!然后突然想到SFTP,因为我服务器上没有装FTP,一直都是使用SFTP来当FTP使得,于是上网搜索了一下,还真找到了一个scp命令。下面介绍一下linux使用scp命令转移备份文件的方法。此方法可以把别家的vps数据直接搬到阿里云服务器。 使用起来也很简单,旧的服务器IP是204.152.221.90,要把上面的/home/wwwroot的文件拷贝过来,那么在新的服务器上面执行: 复制代码 代码如下:scp -r 204.152.221.90:/home/wwwroot /home/wwwroot 前面是原服务器目录 后面是新服务器目录 形式可以多变,具体你网站目录和数据目录如:scp -r 204.152.221.90:/www/wwwroot /home/wwwroot 或自己的路的:scp -r 204.152.221.90:/home/ftp/1520/XX01/XX02 /home/wwwroot (意思就是把204.152.221.90服务器的搬到新服务器同样的目录!举一反三也可以把MYSQL目录搬过来)如图: scp -r 10.132.6.103:/www/new/public_html/mysoft/ /www/wl.125.la/wwwroot/mysoft scp -r 10.132.6.103:/www/new/public_html/ThinkPHP3.1.3/ /www/wl.125.la/wwwroot/ThinkPHP3.1.3 scp -r 10.132.6.103:/www/new/public_html/upDataMysoft/ ./upDataMysoft scp -r 10.132.6.103:/www/new/public_html/geetestAction/ ./geetestAction scp -r 10.132.6.103:/www/new/public_html/ThinkPHP3.2.3/ ./ThinkPHP3.2.3 scp -r 10.132.6.103:/www/new/public_html/judge/ ./judge scp -r 10.132.6.103:/www/new/public_html/autoip/ ./autoip 经过一天倒腾 # apache2 apt-get install apache2 /var/www/html/index.php phpinfo(); http://121.41.4.181/index.php 在用户目录创建网站时出现403 Forbidden ↑ 403 forbidden的原因基本上就是权限问题了。有人说使用上面的Require all granted就可以解除了,但事实是不行的。问题跟它也有点关系,但不在于虚拟主机,而在于apache2.conf文件。vi apache.conf之后可以看到,在下方有几个<Directory></Directory>进行的权限控制,其中就有require all语句。 我们把web目录放到自己的目录下面,是想不需要sudo就能修改和调整网站,但是apache2不认你的目录,因为apache2为了安全起见,只允许/var/www、/usr/share下面的文件夹被访问。所以在最后一个</Directory>后面再添加上一个允许的目录就可以了。例如: 代码如下 复制代码 <Directory /home/user/websites> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> 这样之后,再sudo service apache2 reload,就可以访问这个目录了。当然,还有一种可能,就是apache的用户组www-data没有权限访问你的目录(权限控制的比较紧的情况下),你还要考虑chmod你的目录权限: 代码如下 复制代码 $ chmod 711 /home/user $ chmod 755 /home/user/websites 让目录具有可读可执行的权限。这样之后应该就可以访问你的网站了。 « WP2PCS 1.4.0版插件发布 备份网站到云盘 调用百度云盘资源到网站用 https://help.aliyun.com/document_detail/26546.html?spm=5176.doc26551.6.108.JXehQy 2) 通过ape-get配置GCC,G++ 首先需要使用dpkg –s安装包名 【例如 dpkg –s gcc】确认是否安装了gcc-c++等组件如没有请执行 apt-get build-dep gcc apt-get install build-essential 3) 安装php5, php5-dev 首先需要使用dpkg –s安装包名 【例如 dpkg –s php】确认是否安装了php等组件如没有请执行 apt-get install php5 php5-dev 【同时会自动安装php5-cli和php5-common】 4) 安装配置sasl支持 首先需要使用dpkg –s安装包名 【例如 dpkg –s libsasl2】确认是否安装了libsasl2 cloog-ppl等组件如没有请执行 apt-get install libsasl2-dev cloog-ppl cd /usr/local/src 5) 安装指定版本的libmemcache 请先检测下是否有已安装了这些包【包含源码包】如有则不需要安装 wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz tar -zxvf libmemcached-1.0.18.tar.gz cd libmemcached-1.0.18 ./configure --prefix=/usr/local/libmemcached make make install cd .. 6) 安装指定版本的memcached 请先检测下是否有已安装了memcached客户端包【包含源码包】如有则不需要安装,但需要重新编译增加-enable-memcached-sasl这个扩展 wget http://pecl.php.net/get/memcached-2.2.0.tgz tar zxvf memcached-2.2.0.tgz cd memcached-2.2.0 phpize5 ./configure --with-libmemcached-dir=/usr/local/libmemcached --enable-memcached-sasl make make install 7) 配置php支持memcached,然后测试 echo "extension=memcached.so" >>/etc/php5/conf.d/pdo.ini echo "memcached.use_sasl = 1" >>/etc/php5/conf.d/pdo.ini php -m |grep mem memcached 【显示出该组件代表安装完成】 配置完毕 PHP代码示例 示例1:基本的连接云数据库Memcache及set/get操作 <?php $connect = new Memcached; //声明一个新的memcached链接 $connect->setOption(Memcached::OPT_COMPRESSION, false); //关闭压缩功能 $connect->setOption(Memcached::OPT_BINARY_PROTOCOL, true); //使用binary二进制协议 $connect->addServer('aaaaaaaaaa.m.yyyyyyyyyyy.ocs.aliyuncs.com', 11211); //添加OCS实例地址及端口号 $connect->setSaslAuthData('aaaaaaaaaa, 'password'); //设置OCS帐号密码进行鉴权,如已开启免密码功能,则无需此步骤 $connect->set("hello", "world"); echo 'hello: ',$connect->get("hello"); $connect->quit(); ?> https://help.aliyun.com/knowledge_detail/5974954.html