购买阿里云服务后搭建服务器
安装 nginx
1 http://nginx.org/en/download.html 下载nginx的最新版
2 解压nginx安装包 tar -xzf nginx-1.9.3.tar.gz
3 进入 nginx-1.9.3
4 安装 zlib库
# sudo apt-get install zlib1g-dev // Ubuntu
# sudo yum install zlib-devel // centos
5 安装 PCRE库
# sudo apt-get install libpcre3-dev # Ubuntu
# sudo yum install pcre-devel # CentOS
6 安装可选的OpenSSL
# sudo apt-get install openssl
# sudo apt-get install libssl-dev
# sudo yum install openssl
# sudo yum install openssl-devel
7 进入<nginx源代码根目录>/src/core,然后用vi打开nginx.h头文件
8 ./configure // 执行配置命令
[nginx 被默认安装在 usr/local/nginx 中]
9 执行 make install
10 执行nginx -t 检查配置文件是正确的
11 进入/usr/local/nginx/sbin目录
# ./nginx //启动nginx服务
# ./nginx -s reload // 重启服务
// 如果发现80端口已经被占用,可能是nginx服务已经启动。
# pkill nginx // 杀掉nginx服务。
# ps -ef | grep nginx 命令查看内存中是否还有nginx进程。
安装 php
1、安装gcc及libxml2
# yum install gcc -y
# yum install libxml2* -y
2、下载最新PHP官方安装包 http://php.net/downloads.php
3、解压安装包
# tar zxvf php-5.6.29.tar.gz
4、安装php
# cd php-5.6.28
// 最简单的配置,(在配置phpmyadmin时,出现缺少扩展mbstring,mysqli的问题)
# ./configure --prefix=/usr/local/php --enable-fpm
// --prefix
// 比较全的配置 (但可能缺少库)
# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib --with-libxml-dir --with-gd --with-iconv --with-curl --with-png-dir --with-jpeg-dir --enable-sockets --enable-mbstring --enable-inline-optimization --enable-zend-multibyte --with-freetype-dir
// 个人本次使用的配置
# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd
# make && make install // 编译 安装
5、拷贝生产环境的PHP配置文件
cp /home/develop/php-5.6/php.ini-production /usr/local/php/etc/php.ini
6、拷贝php-fpm配置文件 (如果没有特殊要求,则直接使用默认配置即可)
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
7、启动服务
# cd /usr/local/
// 启动nginx服务
# ./nginx/sbin/nginx
// 启动php
# ./php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf
8、配置php和nginx 及 fastcgi
//打开nginx配置文件
# cd /usr/local
# vi nginx/conf/nginx.conf
其中有一段 修改成
location ~ \.php$ {
root /mnt/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
// 其中 fastcgi.conf 在 /usr/localnginx/conf/中,安装自带的。
如果出现如下问题,就是没有配置好:
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,
client: 180.167.68.134, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "*.*.*.*"
安装 mysql
卸载 mysql
ps -ef|grep mysql 查看安装路径
find / -name mysql 查看相关 文件包
rpm -qa | grep -i mysql 查看相关组件
rpm -ev mysql-community-server-5.6.35-2.el7.x86_64 删除组件
rpm -ev mysql-community-client-5.6.35-2.el7.x86_64
rpm -ev php-mysql-5.4.16-42.el7.x86_64
rpm -ev mysql-community-release-el7-5.noarch
rpm -ev mysql-community-libs-5.6.35-2.el7.x86_64
rpm -e --nodeps mysql-community-libs-5.6.35-2.el7.x86_64 // 强制卸载
rm -rf /var/lib/mysql 删除文件
rm -rf /var/lib/mysql/mysql rm -rf /usr/share/mysql
more /etc/passwd | grep mysql
more /etc/shadow | grep mysql 删除组,用户
more /etc/group | grep mysql 删除组,用户
userdel mysql 删除用户
groupdel mysql 删除组
rpm -qa | grep -i mysql 确认是否卸载
安装 mysql
下载 MySQL-5.6.35-1.linux_glibc2.5.x86_64.rpm-bundle.tar
解压 tar -xvf MySQL-5.6.35-1.linux_glibc2.5.x86_64.rpm-bundle.tar
cd MySQL-5.6.35 // 改文件名为 MySQL-5.6.35
yum install MySQL-shared-compat-5.6.35-1.linux_glibc2.5.x86_64.rpm # 安装 RHEL兼容包
yum install MySQL-server-5.6.35-1.linux_glibc2.5.x86_64.rpm # MySQL服务端程序
yum install MySQL-client-5.6.35-1.linux_glibc2.5.x86_64.rpm # MySQL客户端程序
yum install MySQL-devel-5.6.35-1.linux_glibc2.5.x86_64.rpm # MySQL的库和头文件
yum install MySQL-shared-5.6.35-1.linux_glibc2.5.x86_64.rpm # MySQL的共享库
cat /root/.mysql_secret配置MySQL登录密码
// 获取MySQL安装时生成的随机密码 为 2M*8cservice mysql start # 启动MySQL服务
mysql -uroot -p # 进入MySQL,
使用之前获取的随机密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypassword');
// 在MySQL命令行中设置root账户的密码为mypasswordquit # 退出MySQL命令行
service mysql restart # 重新启动MySQL服务
yum 安装 mysql
yum install libaio # 安装libaio依赖包
yum localinstall mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server
启动和关闭 MySQL Server
systemctl start mysqld //启动 MySQL Server
systemctl status mysqld // 查看 MySQL Server 状态
systemctl stop mysqld //关闭 MySQL Server
防火墙设置 firewall-cmd(推荐)centos 7才可以
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=3306/udp
// 就开放了相应的端口。firewall-cmd --reload //使最新的防火墙设置规则生效
重置mysql密码
1、systemctl start mysqld 先启动
2、mysql_secure_installation 安全设置 (没有密码 按enter 进入)
Set root password? [Y/n] y [设置root用户密码]
Remove anonymous users? [Y/n] y [删除匿名用户]
Disallow root login remotely? [Y/n] n [禁止root远程登录]
Remove test database and access to it? [Y/n] y [删除test数据库]
Reload privilege tables now? [Y/n] y [刷新权限]
3、新建数据库
//登录MYSQL(有ROOT权限)。这里我以ROOT身份登录
[root@iZ28gvqe4biZ ~]# mysql -u root -p
//首先为用户创建一个数据库hivemeta
mysql > create database hivemeta;
mysql > use hivemeta
//授权hdp用户拥有hivemeta数据库的所有权限。
mysql > grant all privileges on *.* to hdp@"%" identified by "hdp" with grant option;
//刷新系统权限表
mysql > flush privileges;
mysql > use hivemeta;
//mysql/hive字符集问题
mysql > alter database hivemeta character set latin1;
安装 phpMyAdmin
下载 phpMyAdmin
tar zxvf php-5.6.5.2.all-language.tar.gz // 解压
访问 phpMyAdmin/index.php
问题一 添加mbstring扩展
# cd /usr/src/php-5.6.29/ext/mbstring
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install
# echo ‘extension=mbstring.so' >>/usr/local/php/lib/php.ini
//或者打开 php.ini,直接添加extension=mbstring.so字段
# 重启服务器
问题二 添加 mysqli 扩展
# cd /usr/src/php-5.6.29/ext/mysqli
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install
# 这样会在 /usr/local/php/lib/php/extensions/no-debug-non-ztszh中生成 mysqli.so文件
# echo ‘extension=mysqli.so' >>/usr/local/php/lib/php.ini
# 或者打开 php.ini,直接添加extension=mysqli.so字段
# 网络上另一种配置是
# ./configure --with-php-config=/usr/local/php/bin/php-config –-with-mysql=/usr/lib64/mysql/
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/lib64/mysql/bin/mysql_config
# 这个是针对mysql5.5之前。其中-with-mysql指的是mysql的安装路径。现在mysql5.6默认的安装在/usr/lib64/mysql/,但是没有mysql_config文件。
错误
打开 phpMyAdmin/index.php出现提示 You are using PHP’s deprecated ‘mysql’ extension,
解决:
在phpmyadmin中config.inc.php修改:
$cfg'Servers'['extension'] = 'mysqli';
执行PHP配置命令./configure 时提示以下错误:
checking for OS + Linux 2.6.32-431.el6.x86_64 x86_64
checking for C compiler ... not found
解决:
yum -y install gcc gcc-c++ autoconf automake make
使用SFTP错误:
Received unexpected end-of-file from SFTP server
解决方法:
vi /etc/ssh/sshd_config
删除Subsystem sftp /usr/libexec/openssh/sftp-server前面的"#",
保存退出,重启SSH
service sshd restart 然后重新连接FTP测试
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。