记docker手工搭建nextcloud经历
第一步:ssh连接阿里云服务器
第二步:切换root账户,安装并启动docker服务
yum install docke
systemctl start docker.service
第三步:拉取centos7的镜像
docker pull centos:7
第四步:安装镜像,设置端口映射和赋予systemctl权限,并保证宿主机的10001~10006端口防火墙打开
// 67fa590cfc1c 为刚才拉取的centos7的镜像id值
docker run -itd --name centos1 --privileged -p 10001:21 -p 10002:22 -p 10003:3306 -p 10004:80 -p 10005:8080 -p 10006:1521 67fa590cfc1c /usr/sbin/init
第五步:进入centos7镜像内部
docker exec -it centos1 bash
第六步:安装启动防火墙firewalld
//安装firewalld
yum install firewalld
//启动防火墙
systemctl start firewalld.service
第六步:设置防火墙,开放:21、22、80、8080、3306等端口
//1、添加端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//2、更新防火墙规则
firewall-cmd --reload
//3、查看防火墙开放的端口
firewall-cmd --zone=public --list-ports
第七步:安装nginx
//1、安装gcc,gcc是用来编译下载下来的nginx源码
yum install gcc-c++
//2、安装pcre和pcre-devel,nginx 的 http 模块使用 pcre 来解析正则表达式,pcre-devel 是使用 pcre 开发的一个二次开发库
yum install -y pcre pcre-devel
//3、安装zlib zlib提供了很多压缩和解方式,nginx需要zlib对http进行gzip
yum install -y zlib zlib-devel
//4、安装openssl openssl是一个安全套接字层密码库,nginx要支持https,需要使用openssl
yum install -y openssl openssl-devel
//5、下载nginx
wget http://nginx.org/download/nginx-1.14.0.tar.gz
//6、解压
tar -zxvf nginx-1.14.0.tar.gz
//7、 cd到文件路径
//8、编译
./configure
//9、安装
make && make install
//10、启动
cd /usr/local/nginx/sbin
./nginx
//11、页面存放的地点
cd /usr/local/nginx/html
//12、nginx配置:
cat /usr/local/nginx/conf/nginx.conf
第八步:安装php7.1
//1、依赖包安装
yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel
//2、下载安装包
wget http://cn2.php.net/distributions/php-7.1.1.tar.gz
//3、解压配置
tar -xf php-7.1.1.tar.gz
cd php-7.1.1
./configure --prefix=/usr/local/php71/ --with-apxs2=/usr/local/apache24/bin/apxs --enable-mbstring --with-curl --with-gd --enable-fpm --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-config-file-path=/usr/local/php71/etc/ --with-mysqli=mysqlnd
//4、编译安装
make && make install
第九步:处理遇到的问题
nginx发现打开.php的网页时,直接下载而不是解析页面,原因在于,尚未对nginx做配置调整。
1、进入nginx.conf文件,在server部分里面添加:
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
2、此时如果打开.php网页直接报错,原因在于,php-fpm尚未安装或配置,执行下列操作,可解决这问题。
//1、安装yum扩展源
yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
//2、安装
yum install php71w-fpm
//3、启动
systemctl enable php-fpm.service
systemctl start php-fpm.service