腦子一熱,把一台私人小服務器從centos6升級到8,安裝php7.4嘗嘗鮮,沒有想到費了一番事。記錄如下。
1. yum 安裝nginx1.14,安裝php74
sudo yum install nginx dnf -y install dnf-utils yum search php74* yum install php74-php
安裝完成后php訪問不到。后來發現以前版本php,在nginx里默認配置是:
fastcgi_pass 127.0.0.1:9000;
到php目錄下查看配置:
listen = /var/opt/remi/php74/run/php-fpm/www.sock
修改nginx配置為:fastcgi_pass /var/opt/remi/php74/run/php-fpm/www.sock;
啟動還是報錯,看了下nginx error log,提示為www.sock沒有權限,於是給了www.sock +rw權限,成功執行!
配置nginx,同時可以訪問443和80端口
# # The default server # server { listen 80; listen 443 ssl; server_name blog.pianhuangw.com; root /data/web/blog.pianhuangw.com; index index.php; ssl_certificate /etc/nginx/cert/blog.pianhuangw.com.pem; ssl_certificate_key /etc/nginx/cert/blog.pianhuangw.com.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location ~ \.php$ { root /data/web/blog.pianhuangw.com; fastcgi_pass unix:/var/opt/remi/php74/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
2. php74 mysql擴展
yum install php74-php-mysqlnd.x86_64
3. mysql56安裝
這個是用rpm包裝的
rpm -ivh MySQL-server-5.6.19-1.el6.x86_64.rpm rpm -ivh MySQL-devel-5.6.36-1.el6.x86_64.rpm rpm -ivh MySQL-client-5.6.36-1.el6.x86_64.rpm
mysql 默認生成的密碼在/root/.mysql_secret,查看密碼后登錄:
mysql -uroot -p # 修改root默認密碼 SET PASSWORD=PASSWORD('123456');
4. java1.8安裝
這個也是rpm包,就比較簡單了
rpm -ivh jdk-8u192-linux-x64.rpm
配置環境變量
vim /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_192-amd64 JRE_HOME=$JAVA_HOME/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH
source /etc/profile生效
可以echo $JAVA_HOME看下路徑,java -version,javac驗證下。
5. docker安裝
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #這一步是因為centos8下會提示containerd.io>1.2.2版本 yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm yum install -y docker-ce
docker version驗證安裝成功。
6. consul安裝
./consul agent -server -ui -bootstrap-expect 1 -client 0.0.0.0 -config-dir /data/app/consul/config.json -data-dir /data/app/consul/data1/
consul.json配置如下:
{ "datacenter": "zyproject-dc", "node_name": "zyproject-reg1", "data_dir": "/data/app/consul/data1", "ports": { "http": 8000, "dns": 8601, "grpc": 8401, "serf_lan": 8311, "server": 8310 } }
再啟一個client模擬集群
./consul agent -data-dir=/data/app/consul/data2 -advertise=127.0.0.1 -client=0.0.0.0 -join=127.0.0.1:8311 -datacenter='zyproject-dc'