买了几次服务器,然后想配置自己的开发环境,但是每次安装软件的时候都要找啊找教程,不是jenkins不行就是mysql不行,所以今天我准备写个完整的安装与配置,以后再需要的时候直接看文章,照着操作就行。虽然宝塔面板也挺香,docker也不错,但是总感觉少点啥,还是自己动手比较好玩。let's Go!
腾讯云,系统版本:Ubuntu18.04。本文主要涉及安装Nginx、JDK、PHP、Mysql、Jenkins、Node、NPM、PM2,已经配置相关的服务,如果看官已经会了,那么提点意见吧!
因为腾讯云默认登陆用户名是ubuntu,操作起来很多都需要root权限,为了直接使用root账号登陆,需要添加一个root账号,添加方式如下:
1、使用用户名ubuntu登录后,执行
sudo passwd root复制代码
输入要设置的root密码,密码输入不可见,二次输入确认密码。
2、修改ssh配置
sudo vi /etc/ssh/sshd_config复制代码
命令行输入i进行编辑, 修改文件中的PermitRootLogin为yes,默认该项是被注释的, 按Esc,输入wq + enter保存修改。
3、重启ssh服务,即可使用root账号登陆了
sudo service ssh restart复制代码
登陆服务器后,对系统进行更新。在次之前推荐一下自动登陆服务器的脚本,虽然这个很多人都会写,或者直接ssh命令登陆,但是还是放着吧,万一有人需要呢,脚本地址: github.com/BoWang816/s… ,登陆系统后,首先更新系统:
apt-get update复制代码
apt-get install nginx复制代码
安装完成后,通过IP地址打开,显示以下内容表示Nginx安装成功,比如我的地址是 http://49.235.105.248/ ,Nginx的端口默认为80.
1.删除nginx,-purge包括配置文件
sudo apt-get --purgeremove nginx 复制代码
2.移除全部不使用的软件包
sudo apt-getautoremove 复制代码
3.罗列出与nginx相关的软件并删除
dpkg--get-selections|grep nginx 复制代码
sudo apt-get --purgeremove nginx 复制代码
sudo apt-get --purgeremove nginx-common 复制代码
sudo apt-get --purgeremove nginx-core复制代码
对于Nginx的配置,在博客上做了详细的教程描述,可以移步: bowang816.github.io/tags/Nginx/
腾讯云默认会安装apache,如果要卸载,执行以下命令即可:
sudo apt-get --purge remove apache-common sudo apt-get --purge remove apache sudo find /etc -name "apache" |xargs rm -rf sudo rm -rf /etc/libapache2-mod-jk dpkg -l |grep apache2|awk '{print $2}'|xargs dpkg -P复制代码
首先需要下载JDK包,虽然openjdk可以自动安装与配置环境变量,但是既然要手把手来,就自己装吧,因为openjdk安装的路径找起来太麻烦了。因为现在官网下载jdk需要oracle账号,所以这里提供一个
帐号:2337594954@qq.com 密码:Woaifengbeibei12 账号来自 <https://blog.csdn.net/qq_41650354/article/details/82227742>复制代码
1、新建/usr/local/java文件夹:
mkdir /usr/local/java复制代码
2、解压JDK压缩包:
sudo tar -zxvf jdk-8u131-linux-x64.tar.gz复制代码
3、将解压出来的文件名称修改为jdk,假设解压出来的文件夹叫 jdk-8.131:
mv jdk-8.131 jdk复制代码
4、将jdk文件夹复制(cp)或移动(mv)到/usr/local/java:
mv jdk /usr/local/java复制代码
5、打开/etc/environment文件,添加环境变量:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin" export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export JAVA_HOME=/usr/local/java/jdk复制代码
#set Java environment export JAVA_HOME=/usr/local/java/jdk export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH复制代码
8、添加后执行使全局环境变量生效: source /etc/profile
7、打开/etc/profile文件,添加全局java环境:
6、添加后执行使环境变量生效:source /etc/environment
安装jenkins需要以来Java环境,因此上面首先配置了java环境。
先执行:wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | apt-key add - 再执行:echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list 复制代码
apt-get update复制代码
apt-get install jenkins复制代码
jenkins默认为8080端口,安装完成后,通过http://IP:8080即可访问安装。比如我的是 http://49.235.105.248:8080/ ,首次打开会需要输入超级管理员,在服务器通过
cat /var/lib/jenkins/secrets/initialAdminPassword复制代码
即可查看密码,输入密码后选择要安装的插件进行安装,前端环境一般可能会需要到nodejs、gitlab等,搜索安装即可。安装完成后可以新建项目进行自动化部署,具体如何部署将在下一篇文章中专门去写。
/etc/default/jenkins 此处可进行端口配置
/var/lib/jenkins 默认安装路径
/var/cache/jenkins 默认缓存路径
/var/log/jenkins 默认日志路径
sudo apt-get remove jenkins 复制代码
sudo apt-get remove --auto-remove jenkins 复制代码
sudo apt-get purge jenkins 复制代码
sudo apt-get purge --auto-remove jenkins 复制代码
安装nodejs,安装完成通过node -v查看是否安装成功
apt-get install nodejs 复制代码
安装npm,安装完成通过npm -v查看是否安装成功
apt-get install npm复制代码
安装pm2,安装完成通过pm2 -v查看是否安装成功
sudo npm install -g pm2复制代码
node安装成功后无需配置即可使用,需要卸载的话直接使用 apt-get remove nodejs命令即可。
默认安装的php为php7.2版本,php7之后移除了mysql的扩展,所以还需要安装php-mysql。分别执行下面三个命令即可安装,安装完成后通过php -v查看是否安装成功。
sudo apt-get install php php-fpm复制代码
sudo apt-get install libapache2-mod-php复制代码
sudo apt-get install php7.2-mysql复制代码
这里只是去修改默认的配置文件,如果不想修改默认配置文件,也可以自己新建配置文件进行配置,具体操作在我的博客中Nginx相关的都有说。
编辑默认配置文件:
vim /etc/nginx/sites-enabled复制代码
默认php的设置是被注释掉的,需要将注释去掉。首先在index中加入index.php,保证PHP文件可以被索引到:
# Add index.php to the list if you are using PHP index index.html index.htm index.php index.nginx-debian.html;复制代码
打开php配置项,我们使用的是php-fpm,所以这里的 fastcgi_pass 项只需要放开第一个就好了。因为在安装PHP时默认时装的是php7.2,所以在 /var/run/php 目录下就会有 php7.2-fpm.sock这个文件,所以这里配这个就好了。
# location ~ /.php$ { include snippets/fastcgi-php.conf; # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; }复制代码
配置成功后,在nginx的默认访问目录/var/www/html下,新建一个php文件,通过IP访问以下,能打开就表示配置成功。
mysql其实可以单独购买,但是有点贵你懂的,一般个人建站使用的还在服务器上安装一个就好了,但是要记得做备份。安装完成后执行mysql命令,能进入mysql则表示安装成功。
sudo apt-get install mysql-server复制代码
首先修改配置文件,对mysql不绑定localhost。执行以下命令,找到 bind-address = 127.0.0.1,注释掉这行
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 复制代码
执行mysql命令进入mysql,设置root密码,这里我设置的密码是123456,设置完成后刷新配置: FLUSH PRIVILEGES;
use mysql; update user set authentication_string=PASSWORD("这里输入你要改的密码") where User='root'; #更改密码 update user set plugin="mysql_native_password"; #如果没这一行可能也会报一个错误,因此需要运行这一行 flush privileges; #更新所有操作权限 quit;复制代码
然后重启mysql服务:
service mysql restart复制代码
如果通过上述设置,但是本地使用mysqlWorkbench或者navicat无法链接,是因为没有给设置权限,执行以下命令给所有ip开放连接mysql的权限即可。
use mysql; GRANT ALL ON *.* to root@'%' IDENTIFIED BY '123456'; flush privileges; #更新所有操作权限 quit;复制代码
如果需要配置以上内容,要保证服务器的安全组中对应的端口打开
nginx:80,443
jenkins:8080
mysql:3306
至此,所有的服务都已经安装完毕,如有问题,欢迎拍砖。