配置Java JDK
快速配置JDK11 1. 进入file目录(可选)
下面全部操作都在/opt/file
目录下操作,你也可以选择在其他目录进行。
2. 下载JDK11
1 sudo wget -P /opt/file -O jdk-11.0.19_linux-x64_bin.tar https://download.oracle.com/otn/java/jdk/11.0.19+9/56a39267b45342398c37a72026d961ab/jdk-11.0.19_linux-x64_bin.tar.gz?AuthParam=1685293276_d5e2ef0f7172f346a89a348c9e17cdbe
-P
:指定下载文件存储路径
-O
:下载后指定存储文件名
3. 创建jdk存储位置
我习惯将JDK存储在/bin/jvm
下面
4. 解压JDK
1 tar -zxvf jdk-11.0.19_linux-x64_bin.tar -C /bin/jvm/
5. 添加环境变量
1 2 3 sed -i '$a\export JAVA_HOME=/bin/jvm/jdk-11.0.19 #这个是你解压的JDK文件路径\ export PATH=$PATH:${JAVA_HOME}/bin\ export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar' /etc/profile
6. 加载环境变量
7. 查看JDK版本
1 2 3 4 5 java -version java version "11.0.19" 2023-04-18 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.19+9-LTS-224) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.19+9-LTS-224, mixed mode)
建议在root用户下操作
前往官网 下载JDK(此处我下载的是jdk-1.8.0)
下载JDK并解压
上传文件到Linux(二选一)
1 scp .\jdk-8u341-linux-x64.tar.gz lilbai@192.168.2.5:/home/lilbai/Downloads
解压
1 tar -zxvf jdk-8u341-linux-x64.tar.gz
将文件移动到/opt下
一般默认JDK安装在/bin/jvm/
下,我这里安装在/opt
下
打开配置环境变量文件
配置环境变量
1 2 3 sed -i '$a\export JAVA_HOME=/bin/jvm/jdk-11.0.19 #这个是你解压的JDK文件路径\ export PATH=$PATH:${JAVA_HOME}/bin\ export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar' /etc/profile
使用sed
命令将内容插入到/etc/profile
最后一行
重新加载环境变量
查看JDK是否配置好
1 2 3 4 java -version openjdk version "1.8.0_262" OpenJDK Runtime Environment (build 1.8.0_262-b10) OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
配置Tomcat
版本 10.0.23
文件类型:tar.gz
配置Tomcat前配置JDK,如果你还没有配置JDK,请看上一步
前往官网 下载
蓝奏云:https://rookie1679.lanzouy.com/iEVvB0bztaef
将文件上传到Linux
1 scp .\apache-tomcat-10.0.23.tar.gz lilbai@192.168.232.130:/home/lilbai/Downloads
解压文件
1 tar -zxvf apache-tomcat-10.0.23.tar.gz
移动到/opt下
1 mv apache-tomcat-10.0.23 /opt
运行Tomcat运行测试
1 /opt/apache-tomcat-10.0.23/bin/startup.sh
浏览器打开Tomcat
tomcat默认是使用8080端口的,我们在访问的时候要加上8080端口
Linux解压编译安装Nginx
下载Nginx
由于Nginx官网在国外,有时候直接下载Nginx的速度不是很理想,你可以挂个梯子下载到本机再上传到服务器。
前往官网 下载
官网Nginx-1.24.0 pgp
:http://nginx.org/download/nginx-1.24.0.tar.gz
蓝奏云 :https://rookie1679.lanzouy.com/iI6Cc0bzta5g
上传文件到服务器
在Windows在打开终端,进入nginx安装包下载目录
1 scp nginx-1.22.0.tar.gz lilbai@192.168.232.130:/home/lilbai/Downloads
使用wget下载
1 sudo wget -P /opt/file http://nginx.org/download/nginx-1.24.0.tar.gz
这里下载时,我使用了最新版1.24.0
解压文件
1 sudo tar -zxvf nginx-1.22.0.tar.gz -C /opt
解压后的Nginx文件夹不要删掉,即使安装完也不要删掉,后面如果你想添加nginx模块,你还需要这个源文件进行编译安装新模块在nginx里面。
安装依赖
博主安装环境:Ubuntu-22.04-Server
1. 更新包
2. 安装依赖
1 sudo apt -y install gcc make libssl-dev zlib1g-dev libgd-dev libgeoip-dev libpcre2-dev libpcre3-dev
1. 更新包
2. 安装依赖
1 sudo yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
进入Nginx根目录
编译Nginx
1 sudo ./configure --prefix=/usr/local/nginx --with-http_ssl_module
编译安装
1 sudo make && make install
启动nginx
1 /usr/local/nginx/sbin/nginx
浏览器输入你的IP地址
出现如下说明Nginx安装成功了
重点注意:Nginx的安装目录在/usr/local/nginx
,配置文件在/usr/local/nginx/conf/nginx.conf
设置软链接
软链接类似Windows的快捷方式一样,将/usr/local/nginx/sbin/nginx
的文件链接在/usr/local/sbin/nginx
,这样在全局的终端都可以使用。
1 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx
个人习惯conf.default
新建
我个人习惯将nginx
的配置文件单独放出来一个文件夹conf.d
在conf
下文件一个conf.d
文件夹,进入conf.d
内新建一个conf.default
文件来编写server
块
1 cd /usr/local/nginx/conf/ && mkdir conf.d && cd conf.d && touch conf.default && ls
引入新建conf.default使其生效
在nginx.conf
引入新建的conf.default
文件
1 sed -i '21i include /usr/local/nginx/conf/conf.d/*.default;' /usr/local/nginx/conf/nginx.conf
设置vim显示行号
在/etc/vim/vimrc
的第七行插入:set nu
,在打开vim编辑器出现行号
1 sed -i '8i \n" 显示行号\n:set nu' /etc/vim/vimrc
nginx反向代理tomcat
前提:安装好JDK、Nginx、Tomcat
配置nginx.conf
1 vim /usr/local/nginx/conf/nginx.conf
在大概35-47
行,将location
括号的内容删掉,添加proxy_pass http://127.0.0.1:8080;
,修改后如下图。
1 2 3 4 5 6 7 8 server { listen 80; server_name localhost; location / { proxy_pass http://127.0.0.1:8080; } }
重启nginx
1 /usr/local/nginx/sbin/nginx -s reload
浏览器打开
直接输入ip
地址,出现tomcat
页面说明nginx
反向代理tomcat
已经成功了。
Linux安装Apache2
检查httpsd安装情况
检查httpd包是否安装,如查看到安装则卸载即可
准备相关依赖包
需要三个依赖包:httpd-2.4.23.tar.gz、apr-1.5.2.tar.gz、apr-util-1.5.4.tar.gz
安装依赖
安装apr依赖
解压文件
将文件下载解压文件,并进入解压后的文件夹。
1 2 tar -zxvf httpd-2.4.23.tar.gz cd apr-1.5.2
编译apr
1 ./configure --prefix=/usr/local/apr
编译文件,为后续安装做准备。
安装apr
1 make && make install -j 2
安装apr-util依赖
跟安装上面apr一样,也是先编译再安装
1 2 3 4 tar -zxvf apr-util-1.5.4.tar.gz cd apr-util-1.5.4./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make && make install -j 2
安装httpd依赖
1 2 3 4 tar -zvxf httpd-2.4.23.tar.gz cd httpd-2.4.23./configure --enable-so --enable-deflate --enable-ssl --enable-mpms-shared=all --with-mpm=event --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util make && make install -j 2
--enable-mpms-shared=all
:启用MPM所有支持的模式,这样event、work、prefork就会以模块化的方式安装
配置服务
将httpd添加到service中
在/etc/init.d文件夹下创建一个httpd文件,将以下内容写入
1 /usr/local/apache2/bin/apachectl $1
接管本地80端口服务
编辑httpd.conf
文件,将ServerName的值改为127.0.0.1:80
,表示节接管本地的80端口。
1 vim /usr/local/apache2/conf/httpd.conf
启动httpd服务
查看修改效果
CentOS 7Minimal环境配置
前言:今天想装一下CentOS 7,看到这个版本比较小,直接上手了。
使用过程中,发现是真的精简,想直接跑一下war包,发现缺少依赖,想用wget下载一下maven,发现wget也没有,想make一下,发现make也没有,原来是真的精简
运行war包依赖
1 2 3 yum install dejavu-sans-fonts yum install fontconfig yum install xorg-x11-server-Xvfb
安装wget
安装make
make是gcc的编译器,一定要安装
1 2 yum -y install gcc automake autoconf libtool make yum install gcc gcc-c++
安装vim
今天想删除一下网卡,发现没有ifconfig
指令,又得装一下了
1 yum -y install net-tools
删除网卡
CentOS 7安装Git
安装依赖库
1 2 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum install gcc perl-ExtUtils-MakeMaker
卸载旧版本的git(没有可跳过)
下载Git
此处安装的是2.9.2
版
1 2 3 wget https://github.com/git/git/archive/v2.9.2.tar.gz
解压Git
将文件移动指定目录下
1 2 3 mkdir /usr/local/gitmv ./git-2.9.2 /usr/local/gitcd /usr/local/git/git-2.9.2
编译
此处你要是没有安装make,需要安装一下。make是gcc的编译器,一定要安装
yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++
1 2 make prefix=/usr/local/git all make prefix=/usr/local/git install
添加Git到环境变量
1 echo "export PATH=\$PATH:/usr/local/git/bin" >> /etc/profile
加载环境变量
查看Git版本
Ubuntu 20.04安装Git
Ubuntu安装Git就简单一点了
更新包
安装Git
查看安装版本
CentOS 7升级vim9
提示:VIM 9默认安装位置在/usr/local/bin/vim
,但是CentOS默认在/usr/bin/vim
找vim
执行文件
卸载旧版的vim
使用yum卸载vim
查找vim的安装依赖
1 2 3 4 5 [root@opt]# yum list installed | grep -i vim vim-common.x86_64 2:7.4.1868-1.el7.centos @anaconda vim-enhanced.x86_64 2:7.4.1868-1.el7.centos @anaconda vim-filesystem.x86_64 2:7.4.1868-1.el7.centos @anaconda vim-minimal.x86_64 2:7.4.1868-1.el7.centos @anaconda
删除依赖
1 yum remove vim-enhanced vim-common vim-filesystem
删除依赖
1 rpm -e --nodeps vim-minimal
安装方式一
安装依赖
1 yum install -y gcc make ncurses ncurses-devel
1 2 3 4 5 6 7 8 9 10 yum install -y ctags git tcl-devel \ ruby ruby-devel \ lua lua-devel \ luajit luajit-devel \ python python-devel \ perl perl-devel \ perl-ExtUtils-ParseXS \ perl-ExtUtils-XSpp \ perl-ExtUtils-CBuilder \ perl-ExtUtils-Embed
下载VIM
或者你可以使用我的链接下载。我已备份vim9到蓝奏云:https://rookie1679.lanzouy.com/iUoSF0dj1s5c
1 git clone https://github.com/vim/vim.git
进入vim-master
安装模块
1 2 3 4 5 6 7 ./configure --with-features=huge \ --enable-multibyte \ --enable-rubyinterp \ --enable-pythoninterp \ --enable-perlinterp \ --enable-luainterp \ --enable-gui=no
编译安装
创建软链接
1 ln -s /usr/local/bin/vim /usr/bin/vim
安装成功
安装方式二
下载vim9
1 wget https://ftp.nluug.nl/pub/vim/unix/vim-9.0.tar.bz2
解压文件
进入src文件夹
编译安装vim9
创建软链接
1 ln -s /usr/local/bin/vim /usr/bin/vim
安装成功
Linux安装Maven
下载maven
官网下载:https://maven.apache.org/download.cgi
你可以在自己win10下载maven再上传到Linux,或者你直接在Linux下载maven也可以。
直接在Linux下载,这里使用wget工具下载,你也可以使用其他工具下载。
查看是否安装wget
如果出现如下图,说明wget已安装,如果说明都没出现,说明没安装
安装wget
1 sudo yum -y install wget
检查是否安装成功
下载maven
使用wget下载工具下载
1 wget https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz
上传文件到Linux
打开cmd
打开cmd或者powershell都可以,这里打开cmd
上传文件
1 scp .\apache-maven-3.8.6-bin.tar.gz root@192.168.2.12:/opt
查看文件
解压maven压缩包
将当前目录下的apache-maven-3.8.6-bin.tar.gz
压缩包解压并指定目录放在/usr/local
下
1 tar -zxvf apache-maven-3.8.6-bin.tar.gz -C /usr/local
将maven改名
将apache-maven-3.8.6
文件夹名改为maven
,短一点看着舒服,你也可以不改。
1 mv /usr/local/apache-maven-3.8.6 /usr/local/maven
添加环境变量
手动添加环境变量
将以下命令添加到/etc/profile
打开/etc/profile文件
添加环境变量
将以下代码添加到/etc/profile
1 2 export MAVEN_HOME=/usr/local/mavenexport PATH=$MAVEN_HOME /bin:$PATH
一条命令自动添加环境变量
这条命令标识将export MAVEN_HOME=/usr/local/maven export PATH=$MAVEN_HOME/bin:$PATH
添加到/etc/profile
文件内的第9行前面,并且自动加载环境变量。
1 echo "export MAVEN_HOME=/usr/local/maven \nexport PATH=$MAVEN_HOME /bin:$PATH " >> /etc/profile && source /etc/profile
查看maven版本
首次查看maven版本可能会稍微慢一点
Linux安装NodeJs
一键安装NodeJs环境:
1 wget https://github.com/0000rookie/MyScript/releases/download/NodeJs/autoInstallNodeJs.sh | sh
下载NodeJs
我这里是使用CentOS 7
3.10.0-1160.76.1.el7.x86_64
如果你需要其他的安装包,可到Node镜像站下载:https://registry.npmmirror.com/binary.html?path=node/v16.17.0/
1 wget https://registry.npmmirror.com/-/binary/node/v16.17.0/node-v16.17.0-linux-x64.tar.gz
解压NodeJS
1 tar -zxvf node-v16.17.0-linux-x64.tar.gz
修改安装路径
我这里安装在/usr/local/node,可以根据自己的需求安装在其他路径或者和我一样也是可以的。
修改文件夹名
1 mv node-v16.17.0-linux-x64 node
配置环境变量
创建软链接,类似Window的快捷方式,如果将软链接放在/usr/local/bin
,表示这个软链接是全局可用的。
创建node的软链接
1 ln -s /usr/local/node/bin/node /usr/local/bin/node
创建npm的软链接
1 ln -s /usr/local/node/bin/npm /usr/local/bin/npm
查看安装结果
hexo全局安装没有生效
安装hexo-cli
1 npm i install hexo-cli -g
创建博客失败
hexo不生效 1 2 [root@localhost opt]# hexo init blog bash: hexo: 未找到命令
解决办法
没有生效应该是在安装hexo-cli的时候,hexo执行文件没有创建软链接到/usr/local/bin/
,既然没有,我们创建一个软链接到哪里即可。
查找是否存在hexo软链接
1 2 [root@localhost nrm]# find /usr/local/bin/hexo -name hexo find: ‘/usr/local/bin/hexo’: 没有那个文件或目录
发现是没有这个软链接的,我们来创建一个软链接,前面这段/usr/local/node
路径是你安装node的路径,根据自己情况改一下即可。
1 ln -s /usr/local/node/lib/node_modules/hexo-cli/bin/hexo /usr/local/bin/hexo
查看创建软链接结果
看到结果已经成功了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [root@localhost nrm]# hexo -v hexo-cli: 4.3.0 os: linux 3.10.0-1160.76.1.el7.x86_64 CentOS Linux 7 (Core) node: 16.17.0 v8: 9.4.146.26-node.22 uv: 1.43.0 zlib: 1.2.11 brotli: 1.0.9 ares: 1.18.1 modules: 93 nghttp2: 1.47.0 napi: 8 llhttp: 6.0.7 openssl: 1.1.1q+quic cldr: 41.0 icu: 71.1 tz: 2022a unicode: 14.0 ngtcp2: 0.1.0-DEV nghttp3: 0.1.0-DEV
nrm全局安装不生效
nrm是一个npm源管理器,可以随时切换源常用指令
nrm ls # 查看全部源
nrm use xxx # 切换到xxx源
nrm安装指令
nrm不生效
1 2 [root@localhost opt]# nrm -v bash: nrm: 未找到命令
nrm不生效,大概原理和上面的hexo-cli是一样的,也是没有软链接,我们来创建一个即可
创建nrm的软链接
1 ln -s /usr/local/node/lib/node_modules/nrm/cli.js /usr/local/bin/nrm
查看效果
出现如下说明已经创建成功了
1 2 3 4 5 6 7 8 [root@localhost nrm]# nrm ls npm ---------- https://registry.npmjs.org/ yarn --------- https://registry.yarnpkg.com/ tencent ------ https://mirrors.cloud.tencent.com/npm/ cnpm --------- https://r.cnpmjs.org/ taobao ------- https://registry.npmmirror.com/ npmMirror ---- https://skimdb.npmjs.com/registry/
Linux安装PHP
PHP插件库下载:https://windows.php.net/downloads/pecl/releases/
Docker安装(推荐) Ubuntu安装 CentOS手动编译安装
使用Docker安装PHP方式也非常简单,直接运行一下容器,配置一下nginx就可以了
拉取php-fpm容器
新建文件夹和测试文件
在运行容器前,我们新建一个文件夹来存放PHP的数据,我这里新建文件夹在/home/docker/php/html/,并且新建一个index.php文件,等会用来测试打开测试是否安装成功PHP。
1 mkdir /home/docker/php/html && echo "<?php phpinfo(); ?>" >> /home/docker/php/html/index.php
运行PHP容器
1 docker run -p 9000:9000 -d --name myphp-fpm -v /home/docker/php/html:/var/www/html php:fpm
-p
:表示将容器端口9000映射到主机的9000端口。主机端口:容器端口
-d
:表示再后台运行
--name
:给容器命名
-v
:将本地文件挂挂在到容器中、主机文件:容器文件
php:fpm
:镜像名
我们将/home/docker/php/html挂载到PHP容器中,我们要是有PHP文件,可以丢在html这个文件夹里面,PHP就会自动解析 了。
配置Nginx
1 vim /etc/local/nginx/nginx.conf
将以下的server块
配置添加到nginx.conf
中。
以下的简单配置可以根据自己的端口
和域名
改一下端口,其他可以不修改。
1 2 3 4 5 6 7 8 9 10 11 12 server { listen 80; server_name localhost; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name ; fastcgi_param SCRIPT_NAME $fastcgi_script_name ; include fastcgi_params; } }
~ \.php$
:表示所有带有php后缀的请求都使用该处理方法
/var/www/html
:此处路径是PHP容器静态资源的路径,默认就好。
更新nginx配置
1 2 /usr/local/nginx/sbin/nginx -t /usr/local/nginx/sbin/nginx -s reload
预览PHP
根据自己的域名或者IP地址、端口修改URL。
1 http://192.168.2.13/index.php
下载源码包
因为特殊的原因,可能下载有点慢,可以在本地下载完在上传到服务器。
官方下载地址
:https://www.php.net/distributions/php-8.1.11.tar.gz
也可以直接在服务器下载
1 wget https://www.php.net/distributions/php-8.1.11.tar.gz
安装依赖
下面用Ubuntu演示安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 sudo apt update &&sudo apt install gcc -y &&make && openssl && curl && libbz2-dev && libxml2-dev && libjpeg-dev && libpng-dev && libfreetype6-dev && libzip-dev && libssl-dev && libsqlite3-dev && libcurl4-openssl-dev && libgmp3-dev && libonig-dev && libreadline-dev && libxslt1-dev && libffi-dev && libxml2 && libkrb5-dev && libonig-dev && libxslt-dev
模块对应的依赖(可选择性的安装)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 sudo apt-get install -y libxml2-dev pcre sudo apt-get install -y libpcre3-dev jpeg sudo apt-get install -y libjpeg62-dev freetype sudo apt-get install -y libfreetype6-dev png sudo apt-get install -y libpng12-dev libpng3 libpnglite-dev iconv sudo apt-get install -y libiconv-hook-dev libiconv-hook1 mycrypt sudo apt-get install -y libmcrypt-dev libmcrypt4 mhash sudo apt-get install -y libmhash-dev libmhash2 openssl sudo apt-get install -y libltdl-dev libssl-dev curl sudo apt-get install -y libcurl4-openssl-dev mysql sudo apt-get install -y libmysqlclient-dev imagick sudo apt-get install -y libmagickcore-dev libmagickwand-dev readline sudo apt-get install -y libedit-dev sudo ln -s /usr/lib/libiconv_hook.so.1.0.0 /usr/lib/libiconv.so sudo ln -s /usr/lib/libiconv_hook.so.1.0.0 /usr/lib/libiconv.so.1 sudo apt-get install -y autoconf automake m4
解压准备安装
解压完进入解压后的文件夹,准备开始编译
1 2 tar -zxvf php-8.1.11.tar.gz cd php-8.1.11
开始编译
我这里选择PHP的权限为www用户和www用户组,你如果不需要可以删除--with-fpm-user=www --with-fpm-group=www
这段。
--with-php-config--with-ctype --with-dom --with-fileinfo --with-json --with-tokenizer
这段不是必须的,你可以根据自己的需求编译合适自己的模块。
1 ./configure --prefix=/usr/local/php8 --with-config-file-path=/usr/local/php8/etc --with-fpm-user=www --with-fpm-group=www --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip --with-php-config --with-ctype --with-dom --with-fileinfo --with-json --with-tokenizer --enable-fpm
--with-config-file-path=
:我指定安装路径在/usr/local/php8
安装
1 make && make install -j 2
设置环境变量
给PHP、PHP-FPM添加全局变量
1 sed -i '4i export PATH=$PATH:/usr/local/php7/bin/\nexport PATH=$PATH:/usr/local/php7/sbin' /etc/profile && source /etc/profile
-i
:在某文件插入
4i
:在第四行后插入内容
/etc/profile
:被插入的文件
&& source /etc/profile
:加载环境变量
查看版本
配置好环境变量后查看版本。
配置PHP
刚安装的PHP是没有php.ini配置文件的,我们需要手动复制这个文件到安装目录。
进入解压后的php-8.1.11
文件夹,将php.ini-*
文件复制到PHP的真实安装位置,但是php.ini
有两个文件,根据自己的需求选择合适的。
php.ini-development 和 php.ini-production 的区别:
php.ini-development
和php.ini-production
是系统推荐的php.ini
设置参数,前者是为开发环境推荐的,允许调试、少占资源的原则,后者是为实际上线后的产品环境推荐的,禁止报错、提高性能的原则。
我这里选择php.ini-production**
1 cp ./php.ini-production /usr/local/php7/etc/php.ini
我们可以通过php --ini
来查看是否配置加载php.ini
下载PHP源码
因为特殊的原因,可能下载有点慢,可以在本地下载完在上传到服务器。
官方下载地址
:https://www.php.net/distributions/php-8.1.11.tar.gz
也可以直接在服务器下载
1 wget https://www.php.net/distributions/php-8.1.11.tar.gz
安装依赖
通过yum安装依赖。libxml2-devel是PHP编译安装所必需的依赖包,其余的是PHP各种扩展的依赖包
1 yum -y install gcc gcc-c++ wget make libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libxml2 bison autoconf sqlite-devel bzip2-devel libcurl-devel libicu-devel libxslt-devel libzip-devel libtidy-devel libtidy curl dom fileinfo gd json mbstring openssl pdo_mysql tokenizer zip oniguruma-devel
安装加密模块libmcrypt
由于CentOS源煤业libmcrypt 插件,直接从第三方下载,我这里提供一个蓝奏云下载,有需要自取,或者换第三方yum源下载
下载完后解压编译安装libmcrypt
1 2 3 4 tar -zxvf ./libmcrypt-2.5.8.tar.gz \ && cd libmcrypt-2.5.8 \ && ./configure \ && make && make install
安装PHP
解压PHP
解压刚刚下载的PHP
1 2 tar -zxvf php-8.1.11.tar.gz cd php-8.1.11
编译PHP
1 ./configure --prefix=/usr/local/php8 --with-config-file-path=/usr/local/php8/etc --with-fpm-user=www --with-fpm-group=www --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip --with-php-config --with-ctype --with-dom --with-fileinfo --with-json --with-tokenizer --enable-fpm
编译成功会看到如下界面
1 2 3 4 5 6 7 8 9 10 +--------------------------------------------------------------------+ | License: | | This software is subject to the PHP License, available in this | | distribution in the file LICENSE. By continuing this installation | | process, you are bound by the terms of this license agreement. | | If you do not agree with the terms of this license, you must abort | | the installation process at this point. | +--------------------------------------------------------------------+ Thank you for using PHP.
安装PHP
检验安装效果
1 2 cd /usr/local/php8/php/bin./php --version
创建软链接
1 ln -s /usr/local/php8/bin/php /usr/local/bin/php
安装Composer
检查PHP是够正常
可以说出PHP的版本号即说明正常
下载安装版本
1 php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
执行安装
删除安装脚本
1 php -r "unlink('composer-setup.php');"
创建软链接
1 mv composer.phar /usr/local/bin/composer
更换源
如果你是国内的服务器,你可以更换一下PHP的源为国内的镜像源,这里更换为阿里云的镜像源
1 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
其他命令
查看composer全局配置命令
创建PHP项目
1 composer create-project --prefer-dist laravel/laravel my_site_dir "7.2.*"
升级composer版本
取消配置全局镜像源
1 composer config -g --unset repos.packagist
配置局部镜像源
1 composer config repo.packagist composer https://mirrors.aliyun.com/composer/
取消局部镜像源
1 composer config --unset repos.packagist
删除composer
1. 查找composer
2. 删除composer
使用composer安装模块
composer安装模块和npm安装模块有点像,在项目中安装模块时都需要当前项目有一个composer.json或者composer.lock,二者必须有一个,composer.lock的优先级更高。
可能遇到的错误
No package ‘oniguruma’ found
1 2 3 4 5 6 7 8 9 10 11 checking for oniguruma... no configure: error: Package requirements (oniguruma) were not met: No package 'oniguruma' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables ONIG_CFLAGS and ONIG_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.
解决
这个错误提示说明你的系统缺少oniguruma软件包,而PHP编译需要使用到这个软件包。你可以通过以下步骤来安装oniguruma软件包:
检查是否已经启用了PowerTools存储库。你可以通过以下命令来检查:
1 sudo yum repolist --enablerepo=PowerTools
如果你没有启用PowerTools存储库,可以通过以下命令启用:
1 sudo yum config-manager --set-enabled PowerTools
安装oniguruma-devel软件包:
1 sudo yum install oniguruma-devel
如果你已经安装了oniguruma-devel软件包,但是仍然出现上述错误提示,可以尝试清除yum缓存:
1 2 sudo yum clean all sudo yum makecache
如果上述步骤仍然无法解决问题,可以尝试手动创建CentOS-Linux-PowerTools.repo文件:
1 sudo vi /etc/yum.repos.d/CentOS-Linux-PowerTools.repo
在文件中添加以下内容:
1 2 3 4 5 6 7 [PowerTools] name=CentOS-$releasever - PowerTools mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=PowerTools&infra=$infra #baseurl=http://mirror.centos.org/$contentdir/$releasever/PowerTools/$basearch/os/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
保存并退出文件,然后再次运行安装命令。
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
虚拟内存不足,需要增加虚拟内存,可以使用交换内存,使用存储临时代替内存。
文章参考
Linux安装PHP8
Linux安装Go语言
下载安装包
下载方式有多种,根据你喜好下载,或者在window下载好再上传到服务器也可以。
1 wget -P /opt/file/ https://dl.google.com/go/go1.19.4.linux-amd64.tar.gz
解压
进入/opt/file/
目录
将Go安装包解压到/usr/local/
目录下
1 sudo tar -C /usr/local/ -zxf go1.19.4.linux-amd64.tar.gz
创建环境变量
1 echo "export PATH=\$PATH:/usr/local/go/bin" >> /etc/profile
将export PATH=$PATH:/usr/local/go/bin
这段字符串追加到/etc/profile
文件最后一行,\$PATH
使用\
是为了转义$
字符
加载环境变量
改动环境变量必须要加载才能生效
测试安装是否成功
1 2 root@VM-8-9-ubuntu:/usr# go version go version go1.19.4 linux/amd64
我这里安装的是go1.19.4版本
Linux安装数据库
CentOS安装MySQL
添加MySQL下载源
1 sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
导入MySQL GPG密钥
1 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
安装MySQL
1 sudo yum install mysql-community-server
开启开机默认自启
安装完后,我们需要开启MySQL数据在后台启动,并且设置开机自启。
1 sudo systemctl enable mysqld
启动MySQL
设置开机自启后,MySQL还是没有启动,我们还需要启动MySQL数据库。
1 sudo systemctl start mysqld
查看MySQL状态
1 sudo systemctl status mysqld
查看MySQL密码
首次启动MySQL服务器时,将为MySQL root用户生成一个临时密码。您可以通过运行命令sudo grep 'temporary password' /var/log/mysqld.log
来找到密码。
1 2 3 sudo grep 'temporary password' /var/log/mysqld.log2023-05-13T08:47:24.913671Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: NjDds9gSMVDE
进入MySQL
1 sudo mysql -uroot -pNjDds9gSMVDE
更改root用户密码
1 2 ALTER USER 'root' @'localhost' IDENTIFIED WITH mysql_native_password BY '新密码' ; FLUSH PRIVILEGES;
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
错误表示密码过于简单,不符合安全策略,这是MySQL8的特性,需要满足长度、含有大小写、数字、特殊字符。如7kh$E*w93LCU
密码
可能遇到的错误
如果你没有使用rpm命令导入MySQL的GPG key,你将会遇到以下错误。
1 2 3 4 5 6 7 8 9 10 warning: /var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-common-8.0.30-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql The GPG keys listed for the "MySQL 8.0 Community Server" repository are already installed but they are not correct for this package. Check that the correct key URLs are configured for this repository. Failing package is: mysql-community-common-8.0.30-1.el7.x86_64 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
Ubuntu安装MySQL
检查是否安装了MySQL
1 2 ps -aux | grep mysql systemctl status mysql
没看到有正在运行MySQL应该是没有安装了
在线安装
安装直接在线安装
1 apt-get install mysql-server
查看运行状态
设置开机自启
关闭开机自启
开启、关闭、状态
1 2 3 4 5 6 7 8 systemctl start mysql systemctl restart mysql systemctl stop mysql systemctl status mysql
mysql_secure_installation
MySQL初始化安全脚本,mysql_secure_installation脚本设置的东西:更改root密码、移除MySQL的匿名用户、禁止root远程登录、删除test数据库和重新加载权限。除了询问是否要更改root密码时,看情况是否需要更改,其余的问题都可以按Y,然后ENTER接受所有后续问题的默认值。使用上面的这些选项可以提高MySQL的安全。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 root@VM-8-12-ubuntu:/home/# sudo mysql_secure_installation Securing the MySQL server deployment. Connecting to MySQL using a blank password. VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: y There are three levels of password validation policy: LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case , and special characters STRONG Length >= 8, numeric, mixed case , special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2 Skipping password set for root as authentication with auth_socket is used by default. If you would like to use password authentication instead, this can be done with the "ALTER_USER" command . See https://dev.mysql.com/doc/refman/8.0/en/alter-user.html#alter-user-password-management for more information By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users ? (Press y|Y for Yes, any other key for No) : y Success. Normally, root should only be allowed to connect from 'localhost' . This ensures that someone cannot guess atthe root password from the network. Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y Success. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y - Dropping test database... Success. - Removing privileges on test database... Success. Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Success. All done !
进入MySQL
刚刚没有设置密码,默认密码是root
1 sudo mysql -u root -proot
修改root用户密码
进入MySQL数据库后,切换到mysql数据库
修改密码
设置root
用户的密码为YS!4sV6R&Puq
1 ALTER USER 'root' @'localhost' IDENTIFIED BY 'YS!4sV6R&Puq' ;
刷新权限
修改完密码要刷新权限
Ubuntu安装SQLite
Linux安装SQLite有两种方式,直接apt安装或者编译安装。
直接apt安装
1 sudo apt-get install sqlite3
编译安装
下载安装包
SQLite安装包下载:https://www.sqlite.org/download.html
在Source Code
部分找到sqlite-autoconf-xxx.tar.gz
资源包下载到服务器
蓝奏云:
解压
1 2 tar -xvzf sqlite-autoconf-340000.tar.gz cd sqlite-autoconf-340000
编译
1 ./configure --prefix=/usr/local/sqlite
安装
创建软链接
1 ln -s /usr/local/sqlite/bin/sqlite3 /usr/local/sbin/sqlite3
测试效果
在终端任意目录下输入sqlite3
即可打开数据库,Ctrl + D
退出终端