記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