首页 文章 精选 留言 我的

精选列表

搜索[centos],共5663篇文章
优秀的个人博客,低调大师

centos 上安装nodejs v8.0.0

新建目录www 下载nodejs wget https://npm.taobao.org/mirrors/node/v8.0.0/node-v8.0.0-linux-x64.tar.xz 解压 tar -xvf node-v8.0.0-linux-x64.tar.xz 测试是否安装成功 进入解压目录下的bin目录,执行ls命令 cd node-v8.0.0-linux-x64/bin && ls 有node和npm 测试 ./node -v 安装成功 现在node和npm还不能全局使用,做个链接 ln -s /www/node-v8.0.0-linux-x64/bin/node /usr/local/bin/node ln -s /www/node-v8.0.0-linux-x64/bin/npm /usr/local/bin/npm 可以在任何目录下执行node和npm命令 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.0.14: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) 最主要的原因还是在NPM上,因为用了n来管理nodejs的版本,npm依赖的是nodejs,而n管理node的版本时因为也要依赖node所以有时候会出现一些问题,去找了一下tj大神的n发布页面,上面提到在使用n来切换版本之后,需要修复一下node与npm之间的关系,否则npm很可能出现问题。即在使用完n切换版本之后,需要运行以下脚本,来修复npm $ curl -0 -L https://npmjs.org/install.sh | sudo sh 视你终端的配置,取舍后面的sudo 参考:https://segmentfault.com/q/1010000007163713 https://github.com/tj/n

优秀的个人博客,低调大师

WDCP + CentOS 6.x + EduSoho + Nginx

版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396629 参考:http://www.qiqiuyu.com/course/20/task/798/show注意:本教程基于wdcp最新版本安装。切记:我们的edusoho访问目录是edusoho/web,只有在nginx或者Apache配置里面把根目录定位到web目录下,才不会出现奇怪的问题,否则就会出现图片不能显示或者文件无法上传的问题。本教程主要分为以下几个步骤:安装wdcp、创建站点、下载EduSoho并解压、配置PHP、 安装并配置EduSoho,测试Edusoho。

优秀的个人博客,低调大师

RabbitMQ安装下载(CentOS7)

安装erlang yum install ncurses-devel tar xf otp_src_20.1.tar.gz 进入解压后目录 ./configure --prefix=/usr/local/erlang20 --without-javac make -j 4 make install 验证erlang安装成功 安装rabbitmq xz -d rabbitmq-server-generic-unix-3.6.14.tar.xz tar xf rabbitmq-server-generic-unix-3.6.14.tar yum install python -y yum install xmlto -y yum install python-simplejson -y mv rabbitmq_server-3.6.14 /usr/local/rabbitmq 切换到此目录下 image.png

优秀的个人博客,低调大师

CentOS/etc/fstab文件中的参数

一,作用 /etc/fstab是用来存放文件系统的静态信息的文件,当系统启动时,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂在到执行的目录 二,挂载的限制 1,根目录是必须挂载的,而且一定要先于其他mount point被挂载.因为mount是所有目录的根目录,其他目录都是由根目录/ 衍生出来的 2,挂载点的指定可以任意,但必须遵守必要的系统目录架构原则 3,挂载点必须是已经存在的目录 4,所有挂载点在同一时间只能被挂载一次 5,所有分区在同一时间只能挂在一次 6,若进行卸载,必须将工作目录退出挂载点(及其子目录)之外 三,/etc/fstab文件中的参数 cat /etc/fstab 查看当前系统已经存在的挂载信息 [root@server ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Fri Mar 24 19:30:39 2017 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=fd93d9dc-e277-4926-8a83-c731b5600f8b / ext4 defaults 1 1 UUID=c9517f8f-081d-444f-8510-92d236671b37 /boot ext4 defaults 1 2 UUID=bd841c60-daf5-4c5d-8392-95d4e8b9f4e7 /opt ext4 defaults 1 2 UUID=fe6dd69c-99f4-478d-acc7-ef7e156e5bc5 /usr/local ext4 defaults 1 2 UUID=1e71b8a2-bb4e-4e39-a894-e04fb6480e2e swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 第一列:Device:磁盘设备文件或者该设备的Label或者UUID The first field, (fs_spec), describes the block special device or remote filesystem to be mounted. 1),查看分区的label和uuid Label就是分区的标签,在最初安装系统时填写的挂载点就是标签的名字.可以通过查看一个分区的superblock中的信息找到UUID和Label Name 如:要查看/dev/sda1这个设备的uuid和label name 命令1:dumpe2fs -h /dev/sda1 [root@server ~]# dumpe2fs -h /dev/sda1 dumpe2fs 1.41.12 (17-May-2010) Filesystem volume name: <none> Last mounted on: /boot ---->这个就是Label name Filesystem UUID: c9517f8f-081d-444f-8510-92d236671b37 ---->UUID Filesystem magic number: 0xEF53 命令2:blkid [root@server ~]# blkid /dev/sda1: UUID="c9517f8f-081d-444f-8510-92d236671b37" TYPE="ext4" /dev/sda2: UUID="1e71b8a2-bb4e-4e39-a894-e04fb6480e2e" TYPE="swap" 2),使用设备名和label及uuid作为标识的不同 使用设备名称(/dev/sda)来挂载分区时是被固定死的,一旦磁盘的插槽顺序发生了变化,就会出现名称不对应的问题。因为这个名称是会改变的。 不过使用label挂载就不用担心插槽顺序方面的问题。不过要随时注意label name,至于uuid,每个分区被格式化以后就会有一个UUID作为唯一的标识好。使用UUID作为唯一的标识号,使用UUID挂载的话就不用担心会发生错乱的问题 第二列: Mount point:设备的挂载点,就是要挂载到哪个目录下 The second field, (fs_file), describes the mount point for the filesystem. For swap partitions, this field should be specified as ‘none’. If the name of the mount point contains spaces these can be escaped as ‘\040’. 第三列:filesystem:磁盘文件系统的格式,支持许多不同的文件系统:ext2,ext3,ext4,reiserfs,xfs,jfs,smbfs,iso9660,vfat,swap及auto,设置成auto类型,mount命令会猜测使用的文件系统类型,对CDROM和DVD等移动设备是非常有用的 The third field, (fs_vfstype), describes the type of the filesystem. Linux supports lots of filesystem types, such as adfs,affs, autofs, coda, coherent, cramfs, devpts, efs, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc,qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs, and possibly others. For more details, see mount(8). For the filesystems currently supported by the running kernel, see /proc/filesystems. An entry swap denotes a file or partition to be used for swapping, cf. swapon(8). An entry ignore causes the line to be ignored. This is useful to show disk partitions which are currently unused. An entry none is useful for bind or move mounts. 第四列:parameters:文件系统的参数 The fourth field, (fs_mntops), describes the mount options associated with the filesystem. 参数 用途说明 auto 在启动时或键入了mount -a命令时,自动挂载 noauto 只在命令下被挂载 exec 允许执行此分区的二进制文件 noexec 不允许执行此文件系统上的二进制文件 ro 以只读模式挂载文件系统 rw 以读写模式挂载文件系统 user 允许任意用户挂载此文件系统,若无显示定义,隐含启用noexec、nosuid、nodev参数 users 允许所有users组中的用户挂载此文件系统 nouser 只能被root挂载 owner 允许设备所有者挂载 sync I/0同步进行 async I/O异步进行 dev 不解析文件系统上的块特殊设备 suid 允许suid操作和设定sgid位,这一参数通常用于一些reshuffle任务,使一般用户运行程序时提升权限 nosuid 禁止suid操作和设定sgid位 noatime 不更新文件系统上的inode访问记录,可以提升性能 nodiratime 不更新文件系统上的目录的inode访问记录 relatime 实时更新inode access记录,只有在记录中的访问时间早于当前访问才会被更新(与noatime相似,但不会打断如mutt或其它程序探测文件在上次访问后是否被修改的进程) flush - vfat的选项 频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失 defaults 使用文件系统的默认挂载参数,例如:ext4的默认参数为:rw,suid,dev,exec,auto,nouser,async 第五列:能否被dump备份命令作用:dump是一个用来作为备份的命令,通常这个参数的值为0或1 The fifth field, (fs_freq), is used for these filesystems by the dump(8) command to determine which filesystems need to be dumped. If the fifth field is not present, a value of zero is returned and dump will assume that the filesystem does not need to be dumped. 数值 说明 0 代表不要做dump备份 1 代表要每天进行dump的操作 2 代表不定日期的进行dump操作 第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean) The sixth field, (fs_passno), is used by the fsck(8) program to determine the order in which filesystem checks are done at reboot time. The root filesystem should be specified with a fs_passno of 1, and other filesystems should have a fs_passno of 2. Filesystems within a drive will be checked sequentially, but filesystems on different drives will be checked at the same time to utilize parallelism available in the hardware. If the sixth field is not present or zero, a value of zero is returned and fsck will assume that the filesystem does not need to be checked. 数值 说明 0 不要检验 1 最早检验(一般根目录会选择) 2 1级别检验完成之后进行检验 每天记录一点,就能多学一点,充实一点

优秀的个人博客,低调大师

CentOS下Nginx 配置多站点vhost

假设你想在Linux Nginx中用不同的域名访问不同的目录,这时就要配置多个vhost,具体配置如下,假设网站根目录设定在/var/www/ 1、在/var/www/下新建两个目录 /var/www/ushark.net /var/www/ushark.wang 2、编辑/etc/nginx/nginx.conf http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; #主要是加入此行,如有则忽略 } 3、在/etc/nginx/conf.d下新建两个conf文件, /etc/nginx/conf.d/ushark.net.conf /etc/nginx/conf.d/ushark.wang.conf 4、复制如下配置信息到两个文件中,只要修改红色部分内容 !!! server_name与root保持一致即目录和域名一一对应 !!! server { listen 80; server_name www.ushark.net; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; root /var/www/ushark.net/; if (!-e $request_filename){ # rewrite可根据网站需要增删 rewrite ^/(.*) /index.php last; } location / { index index.php index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/ushark.net/; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~* \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } 5、重启Nginx systemctl restart nginx 6、 编辑/etc/hosts !!! 核心步骤 !!! [root@bogon ~]# vi 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 127.0.0.1 www.ushark.net 127.0.0.1 www.ushark.wang 7、设置成功

优秀的个人博客,低调大师

CentOS 7 配置Apache服务【转发+新增】

一、Apache简介 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性(尽管不断有新的漏洞被发现,但由于其开放源代码的特点,漏洞总能被很快修补。因此总合来说,其安全性还是相当高的。)。被广泛使用,是最流行的Web服务器软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。 软件图标 二、安装Apache httpd 安装httpd以配置Web服务器, HTTP使用80 / TCP [1] 安装 httpd. [root@linuxprobe ~]# yum -y install httpd # 删除默认欢迎页面 [root@linuxprobe ~]# rm -f /etc/httpd/conf.d/welcome.conf [2] 配置httpd,将服务器名称替换为您自己的环境 [root@linuxprobe ~]# vi /etc/httpd/conf/httpd.conf # line 86: 改变管理员的邮箱地址 ServerAdmin root@linuxprobe.org # line 95: 改变域名信息 ServerName www.linuxprobe.org:80 # line 151: none变成All AllowOverride All # line 164: 添加只能使用目录名称访问的文件名 DirectoryIndex index.html index.cgi index.php # add follows to the end # server's response header(安全性) ServerTokens Prod # keepalive is ON KeepAlive On [root@linuxprobe ~]# systemctl start httpd [root@linuxprobe ~]# systemctl enable httpd [3] 如果Firewalld正在运行,请允许HTTP服务。,HTTP使用80 / TCP [root@linuxprobe ~]# firewall-cmd --add-service=http --permanent success [root@linuxprobe ~]# firewall-cmd --reload success [4] 创建一个HTML测试页,并使用Web浏览器从客户端PC访问它。如果显示以下页面,是正确的 [root@linuxprobe ~]# vi /var/www/html/index.html <html> <body> <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> Welcome access LinuxProbe.org,This is Test Page! </div> </body> </html> 三、支持Perl 启用CGI执行并使用Perl脚本 1 [1] 安装Perl. 2 [root@linuxprobe ~]# yum -y install perl perl-CGI 3 [2] 默认情况下,在“/var/www/cgi-bin”目录下允许CGI。 4 可以使用Perl Scripts放在目录下。然而,它下面的所有文件都被处理为CGI。 5 # 下面的设置是CGI的设置 6 [root@linuxprobe ~]# grep -n "^ *ScriptAlias" /etc/httpd/conf/httpd.conf 7 247: ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" 8 [3] 如果你想允许在其他目录中的CGI,配置如下。 9 例如,在“/var/www/html/cgi-enabled”中允许。 10 [root@linuxprobe ~]# vi /etc/httpd/conf.d/cgi-enabled.conf 11 # create new 12 # processes .cgi and .pl as CGI scripts 13 <Directory "/var/www/html/cgi-enabled"> 14 Options +ExecCGI 15 AddHandler cgi-script .cgi .pl 16 </Directory> 17 [root@linuxprobe ~]# systemctl restart httpd 18 [4] 如果SELinux被启用,并且允许CGI在不是像上面[3]的默认目录下,更改规则如下。 19 [root@linuxprobe ~]# chcon -R -t httpd_sys_script_exec_t /var/linuxprobe/html/cgi-enabled 20 [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_script_exec_t /var/www/html/cgi-enabled 21 [5] 创建一个CGI测试页面,并使用Web浏览器从客户端PC访问它。如果显示以下页面,说明配置正确。 22 [root@linuxprobe ~]# vi /var/www/html/cgi-enabled/index.cgi 23 #!/usr/bin/perl 24 print "Content-type: text/html\n\n"; 25 print "<html>\n<body>\n"; 26 print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n"; 27 print "CGI Test Page"; 28 print "\n</div>\n"; 29 print "</body>\n</html>\n"; 30 [root@linuxprobe ~]# chmod 705 /var/www/html/cgi-enabled/index.cgi 四、支持PHP 配置httpd以使用PHP脚本 1 [1] 安装PHP. 2 [root@linuxprobe ~]# yum -y install php php-mbstring php-pear 3 [root@linuxprobe ~]# vi /etc/php.ini 4 # line 878: 取消注释,设置时区 5 date.timezone = "Asia/Shanghai" 6 [root@linuxprobe ~]# systemctl restart httpd 7 8 [2] 创建一个PHP测试页面,并使用Web浏览器从客户端PC访问它。如果显示以下页面,它是确定。 9 [root@linuxprobe ~]# vi /var/www/html/index.php 10 <html> 11 <body> 12 <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> 13 <?php 14 print Date("Y/m/d"); 15 ?> 16 </div> 17 </body> 18 </html> 1 [3] 创建phpinfo测试页,确认是都开启php支持 2 [root@linuxprobe ~]# echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php 五、支持Ruby 配置httpd以将Ruby脚本用作CGI 1 [1] 安装Ruby. 2 [root@linuxprobe ~]# yum -y install ruby 3 4 [2] 默认情况下,在“/var/www/cgi-bin”目录下允许CGI。 5 可以使用Perl Scripts放在目录下。然而,它下面的所有文件都被处理为CGI。 6 # 下面的设置是CGI的设置 7 [root@linuxprobe ~]# grep -n "^ *ScriptAlias" /etc/httpd/conf/httpd.conf 8 247: ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" 9 10 [3] 如果你想允许在其他目录中的CGI,配置如下。 11 例如,在“/var/www/html/cgi-enabled”中允许。 12 [root@linuxprobe ~]# vi /etc/httpd/conf.d/cgi-enabled.conf 13 # create new 14 # processes .rb as CGI scripts 15 <Directory "/var/www/html/cgi-enabled"> 16 Options +ExecCGI 17 AddHandler cgi-script .rb 18 </Directory> 19 [root@linuxprobe ~]# systemctl restart httpd 20 21 [4] 如果SELinux被启用,并且允许CGI在不是像上面[3]的默认目录下,更改规则如下。 22 [root@linuxprobe ~]# chcon -R -t httpd_sys_script_exec_t /var/www/html/cgi-enabled 23 24 [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_script_exec_t /var/www/html/cgi-enabled 25 26 [5] Create a CGI test page and access to it from client PC with web browser. It's OK if following page is shown. 27 [root@linuxprobe ~]# vi /var/www/html/cgi-enabled/index.rb 28 29 #!/usr/bin/ruby 30 print "Content-type: text/html\n\n" 31 print "<html>\n<body>\n" 32 print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n" 33 print "Ruby Script Test Page" 34 print "\n</div>\n" 35 print "</body>\n</html>\n" 36 [root@linuxprobe ~]# chmod 705 /var/www/html/cgi-enabled/index.rb 六、支持Python 启用CGI执行并使用Python脚本 1 [1] 安装python. 2 [root@linuxprobe ~]# yum -y install python 3 4 [2] 默认情况下,在“/var/www/cgi-bin”目录下允许CGI。 5 可以使用Perl Scripts放在目录下。然而,它下面的所有文件都被处理为CGI。 6 # 下面的设置是CGI的设置 7 [root@linuxprobe ~]# grep -n "^ *ScriptAlias" /etc/httpd/conf/httpd.conf 8 247: ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" 9 10 [3] 如果你想允许在其他目录中的CGI,配置如下。 11 例如,在“/var/www/html/cgi-enabled”中允许。 12 [root@linuxprobe ~]# vi /etc/httpd/conf.d/cgi-enabled.conf 13 # create new 14 # processes .py as CGI scripts 15 <Directory "/var/www/html/cgi-enabled"> 16 Options +ExecCGI 17 AddHandler cgi-script .py 18 </Directory> 19 [root@linuxprobe ~]# systemctl restart httpd 20 21 [4] 如果SELinux被启用,并且允许CGI在不是像上面[3]的默认目录下,更改规则如下。 22 [root@linuxprobe ~]# chcon -R -t httpd_sys_script_exec_t /var/www/html/cgi-enabled 23 [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_script_exec_t /var/www/html/cgi-enabled 24 25 [5] Create a CGI test page and access to it from client PC with web browser. It's OK if following page is shown. 26 [root@linuxprobe ~]# vi /var/www/html/cgi-enabled/index.py 27 28 #!/usr/bin/env python 29 30 print "Content-type: text/html\n\n" 31 print "<html>\n<body>\n" 32 print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n" 33 print "Python Script Test Page" 34 print "\n</div>\n" 35 print "</body>\n</html>\n" 36 37 [root@linuxprobe ~]# chmod 705 /var/www/html/cgi-enabled/index.py 7、支持Userdir 启用userdir,用户可以使用此设置创建网站 1 [1] 配置 httpd. 2 [root@linuxprobe ~]# vi /etc/httpd/conf.d/userdir.conf 3 # line 17: comment out 4 #UserDir disabled 5 # line 24: uncomment 6 UserDir public_html 7 # line 31 - 35 8 9 <Directory "/home/*/public_html"> 10 AllowOverride All 11 # change 12 13 Options None 14 # change 15 16 Require method GET POST OPTIONS 17 </Directory> 18 [root@linuxprobe ~]# systemctl restart httpd 19 20 [2] 创建一个测试页,使用普通用户通过客户端PC与Web浏览器和访问它,如果显示以下页面,就是正确的 21 [cent@linuxprobe ~]$ mkdir public_html 22 23 [cent@linuxprobe ~]$ chmod 711 /home/cent 24 25 [cent@linuxprobe ~]$ chmod 755 /home/cent/public_html 26 27 [cent@linuxprobe ~]$ vi ./public_html/index.html 28 29 <html> 30 <body> 31 <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> 32 UserDir Test Page 33 </div> 34 </body> 35 </html> 浏览器访问:http://linuxprobe.org/~wang/,出现如下界面 8、设置虚拟主机 配置虚拟主机以使用多个域名。 以下示例在域名为[linuxprobe.org],虚拟域名为[virtual.host(根目录[/home/wang/public_html]]的环境中设置。 必须为此示例设置Userdir的设置 1 [1] 配置虚拟主机 2 [root@linuxprobe ~]# vi /etc/httpd/conf.d/vhost.conf 3 # for original domain 4 5 <VirtualHost *:80> 6 DocumentRoot /var/www/html 7 ServerName www.linuxprobe.org 8 </VirtualHost> 9 # for virtual domain 10 11 <VirtualHost *:80> 12 DocumentRoot /home/cent/public_html 13 ServerName www.virtual.host 14 ServerAdmin webmaster@virtual.host 15 ErrorLog logs/virtual.host-error_log 16 CustomLog logs/virtual.host-access_log combined 17 </VirtualHost> 18 [root@linuxprobe ~]# systemctl restart httpd 19 20 [2]创建测试页并使用Web浏览器从客户端计算机访问它。如果显示以下页面,则是正确的: 21 [cent@linuxprobe ~]$ vi ~/public_html/virtual.php 22 <html> 23 <body> 24 <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> 25 Virtual Host Test Page 26 </div> 27 </body> 28 </html> 29 [3]如果访问测试时看不到相应页面,可通过下面命令进行测试: 30 [root@linuxprobe ~]# yum -y install elinks^C 31 [root@linuxprobe ~]# elinks http://www.virtual.host/virtual.php 9、创建SSL证书 创建自己的SSL证书。但是,如果您使用您的服务器作为业务,最好购买和使用来自Verisigh的正式证书等。 1 [root@linuxprobe ~]# cd /etc/pki/tls/cert 2 cert.pem certs/ 3 [root@linuxprobe ~]# cd /etc/pki/tls/certs/ 4 [root@linuxprobe certs]# make server.key 5 umask 77 ; \ 6 /usr/bin/openssl genrsa -aes128 2048 > server.key 7 Generating RSA private key, 2048 bit long modulus 8 ...............................................................+++ 9 ....................................................................................................+++ 10 e is 65537 (0x10001) 11 Enter pass phrase: 12 Verifying - Enter pass phrase: 13 [root@linuxprobe certs]# openssl rsa -in server.key -out server.key 14 Enter pass phrase for server.key: 15 writing RSA key 16 [root@linuxprobe certs]# make server.csr 17 umask 77 ; \ 18 /usr/bin/openssl req -utf8 -new -key server.key -out server.csr 19 You are about to be asked to enter information that will be incorporated 20 into your certificate request. 21 What you are about to enter is what is called a Distinguished Name or a DN. 22 There are quite a few fields but you can leave some blank 23 For some fields there will be a default value, 24 If you enter '.', the field will be left blank. 25 ----- 26 Country Name (2 letter code) [XX]:CN #国家后缀 27 State or Province Name (full name) []:Shanghai #省 28 Locality Name (eg, city) [Default City]:Shanghai #市 29 Organization Name (eg, company) [Default Company Ltd]:LinuxProbe #公司 30 Organizational Unit Name (eg, section) []:DevOps #部门 31 Common Name (eg, your name or your server's hostname) []:linuxprobe.org #主机名 32 Email Address []:root@linuxprobe.org #邮箱 33 34 Please enter the following 'extra' attributes 35 to be sent with your certificate request 36 A challenge password []: #默认 37 An optional company name []: #默认 38 # 39 [root@linuxprobe certs]# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650 40 Signature ok 41 subject=/C=CN/ST=Shanghai/L=Shanghai/O=LinuxProbe/OU=DevOps/CN=linuxprobe.org/emailAddress=root@linuxprobe.org 42 Getting Private key 10、配置SSL 1 [1] 配置SSL. 2 [root@linuxprobe ~]# yum -y install mod_ssl 3 [root@linuxprobe ~]# vi /etc/httpd/conf.d/ssl.conf 4 # line 59: 取消注释 5 DocumentRoot "/var/www/html" 6 # line 60: 取消注释,定义域名 7 ServerName linuxprobe.org:443 8 # line 75: 改变SSLProtocol 9 SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2 10 11 # line 100: 改成刚刚创建的server.crt 12 SSLCertificateFile /etc/pki/tls/certs/server.crt 13 # line 107: 改成刚刚创建的server.key 14 SSLCertificateKeyFile /etc/pki/tls/certs/server.key 15 [root@www ~]# systemctl restart httpd 16 17 [2] 如果Firewalld正在运行,请允许HTTPS服务。 HTTPS使用443 / TCP 18 [root@www ~]# firewall-cmd --add-service=https --permanent 19 success 20 [root@www ~]# firewall-cmd --reload 21 success 22 [3] 使用Web浏览器通过HTTPS从客户端计算机访问测试页。下面的示例是Fiorefix。显示以下屏幕,因为证书是自己创建的,但它没有ploblem,继续下一步。 11、启用基本身份验证 启用基本身份验证以限制特定网页的访问 1 [1]例如,在目录[/var/www/html/auth-basic]下设置基本身份验证设置。 2 [root@linuxprobe ~]# vi /etc/httpd/conf.d/auth_basic.conf 3 # 创建新配置文件 4 <Directory /var/www/html/auth-basic> 5 AuthType Basic 6 AuthName "Basic Authentication" 7 AuthUserFile /etc/httpd/conf/.htpasswd 8 require valid-user 9 </Directory> 10 # 添加用户:使用“-c”创建新文件(仅为初始注册添加“-c”选项) 11 [root@linuxprobe ~]# htpasswd -c /etc/httpd/conf/.htpasswd wang 12 13 New password: # set password 14 15 Re-type new password: # confirm 16 17 Adding password for user wang 18 [root@linuxprobe ~]# systemctl restart httpd 19 [root@linuxprobe ~]# mkdir /var/www/html/auth-basic 20 21 [root@linuxprobe ~]# vi /var/www/html/auth-basic/index.html 22 # create a test page 23 24 <html> 25 <body> 26 <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: wanger;"> 27 Test Page for Basic Auth 28 </div> 29 </body> 30 </html> 31 32 [2] 使用Web浏览器从客户端计算机访问测试页。然后需要认证,如下所示作为设置,用在[1]中添加的用户回答 [3] 访问成功 12、基本Auth + PAM 限制特定网页上的访问,并使用OS用户通过SSL连接进行身份验证 1 [1] 创建证书,请参照上文所述。 2 [2] 例如,在[/var/www/html/auth-pam]目录下设置Basic Auth。 3 # install from EPEL 4 [root@linuxprobe ~]# yum --enablerepo=epel -y install mod_authnz_external pwauth 5 [root@linuxprobe ~]# vi /etc/httpd/conf.d/authnz_external.conf 6 # add to the end 7 8 <Directory /var/www/html/auth-pam> 9 SSLRequireSSL 10 AuthType Basic 11 AuthName "PAM Authentication" 12 AuthBasicProvider external 13 AuthExternal pwauth 14 require valid-user 15 </Directory> 16 17 [root@linuxprobe ~]# mkdir /var/www/html/auth-pam 18 19 [root@linuxprobe ~]# vi /var/www/html/auth-pam/index.html 20 # create a test page 21 22 <html> 23 <body> 24 <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;"> 25 Test Page for PAM Auth 26 </div> 27 </body> 28 </html> 29 30 [root@linuxprobe ~]# systemctl restart httpd 31 [3] 在客户端上使用Web浏览器访问测试页面https://linuxprobe.org/auth-pam/,并与操作系统上的用户进行身份验证。 13、使用WebDAV 下面是使用SSL连接配置WebDAV设置的示例 1 [1] 创建证书,请参照上文所述 2 [2] 例如,创建一个目录[webdav],它使得可以仅通过SSL连接到WebDAV目录。 3 [root@linuxprobe ~]# mkdir /home/webdav 4 [root@linuxprobe ~]# chown apache. /home/webdav 5 [root@linuxprobe ~]# chmod 770 /home/webdav 6 [root@linuxprobe ~]# vi /etc/httpd/conf.d/webdav.conf 7 # create new 8 DavLockDB "/tmp/DavLock" 9 Alias /webdav /home/webdav 10 <Location /webdav> 11 DAV On 12 SSLRequireSSL 13 Options None 14 AuthType Basic 15 AuthName WebDAV 16 AuthUserFile /etc/httpd/conf/.htpasswd 17 <RequireAny> 18 Require method GET POST OPTIONS 19 Require valid-user 20 </RequireAny> 21 </Location> 22 23 # 添加用户:使用“-c”创建新文件(仅为初始注册添加“-c”选项) 24 [root@linuxprobe ~]# htpasswd -c /etc/httpd/conf/.htpasswd wang 25 New password: # set password 26 Re-type new password: 27 Adding password for user wang 28 # **注意:用户wang的htpasswd已经创建过,不需要重复创建** 29 [root@linuxprobe ~]# systemctl restart httpd 30 31 [3] 如果启用了SELinux,请更改以下规则。 32 [root@linuxprobe ~]# chcon -R -t httpd_sys_rw_content_t /home/webdav 33 [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_rw_content_t /home/webdav 34 35 [4] 这是PC上的WebDAV客户端的设置(Windows 10)。 36 下载“CarotDAV”,这是一个免费的WebDAV客户端,从以下网站⇒ http://www.rei.to/carotdav_en.html ,下载后,安装并启动CarotDAV,然后显示以下屏幕,单击“文件”按钮并选择“WebDAV”。 1 [5]在“设置名称”字段中输入任何名称,并在“URI”字段中输入[服务器名称/ webdav目录],并输入用户名和密码 1 [7]配置添加如下,点击它连接到服务器。 1 [8] waring显示如下,它的SSL证书没有安装在您的电脑上,它没有ploblem,点击“忽略”,然后去下一步。 1 [9] 到webdav目录下创建测试目录和文件 2 [root@linuxprobe tmp]# cd /home/webdav/ 3 [root@linuxprobe webdav]# mkdir linuxprobe 4 [root@linuxprobe webdav]# mkdir linuxcool 5 [root@linuxprobe webdav]# touch vdevops.txt 6 [root@linuxprobe webdav]# touch linuxcool.txt

优秀的个人博客,低调大师

CentOS通过yum命令在线安装jdk

一、通过yum命令在线安装jdk 1.查看云端目前支持安装的jdk版本 [root@localhost ~]# yum search java|grep jdk ldapjdk-javadoc.noarch : Javadoc for ldapjdk java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment java-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation java-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundle java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment java-1.7.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment java-1.7.0-openjdk-headless.x86_64 : The OpenJDK runtime environment without java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle java-1.8.0-openjdk.i686 : OpenJDK Runtime Environment java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment java-1.8.0-openjdk-accessibility.i686 : OpenJDK accessibility connector java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector java-1.8.0-openjdk-accessibility-debug.i686 : OpenJDK accessibility connector java-1.8.0-openjdk-accessibility-debug.x86_64 : OpenJDK accessibility connector java-1.8.0-openjdk-debug.i686 : OpenJDK Runtime Environment with full debug on java-1.8.0-openjdk-debug.x86_64 : OpenJDK Runtime Environment with full debug on java-1.8.0-openjdk-demo.i686 : OpenJDK Demos java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos java-1.8.0-openjdk-demo-debug.i686 : OpenJDK Demos with full debug on java-1.8.0-openjdk-demo-debug.x86_64 : OpenJDK Demos with full debug on java-1.8.0-openjdk-devel.i686 : OpenJDK Development Environment java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment java-1.8.0-openjdk-devel-debug.i686 : OpenJDK Development Environment with full java-1.8.0-openjdk-devel-debug.x86_64 : OpenJDK Development Environment with java-1.8.0-openjdk-headless.i686 : OpenJDK Runtime Environment java-1.8.0-openjdk-headless.x86_64 : OpenJDK Runtime Environment java-1.8.0-openjdk-headless-debug.i686 : OpenJDK Runtime Environment with full java-1.8.0-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with full java-1.8.0-openjdk-javadoc.noarch : OpenJDK API Documentation java-1.8.0-openjdk-javadoc-debug.noarch : OpenJDK API Documentation for packages java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK API Documentation compressed in java-1.8.0-openjdk-javadoc-zip-debug.noarch : OpenJDK API Documentation java-1.8.0-openjdk-src.i686 : OpenJDK Source Bundle java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle java-1.8.0-openjdk-src-debug.i686 : OpenJDK Source Bundle for packages with java-1.8.0-openjdk-src-debug.x86_64 : OpenJDK Source Bundle for packages with ldapjdk.noarch : The Mozilla LDAP Java SDK 2.选择版本后,安装(执行以下命令会自动安装jdk相关依赖) [root@localhost ~]# yum install -y java-1.8.0-openjdk 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.zju.edu.cn * extras: mirror.bit.edu.cn * updates: mirrors.aliyun.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 java-1.8.0-openjdk.x86_64.1.1.8.0.151-5.b12.el7_4 将被 安装 --> 正在处理依赖关系 java-1.8.0-openjdk-headless(x86-64) = 1:1.8.0.151-5.b12.el7_4,它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 xorg-x11-fonts-Type1,它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libpng15.so.15(PNG15_0)(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libjvm.so(SUNWprivate_1.1)(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libjpeg.so.62(LIBJPEG_6.2)(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libjli.so(SUNWprivate_1.1)(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libjava.so(SUNWprivate_1.1)(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 fontconfig(x86-64),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libpng15.so.15()(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libjvm.so()(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libjpeg.so.62()(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libjli.so()(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libjava.so()(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libgif.so.4()(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libawt.so()(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libXtst.so.6()(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libXrender.so.1()(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libXi.so.6()(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libXext.so.6()(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libXcomposite.so.1()(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 --> 正在处理依赖关系 libX11.so.6()(64bit),它被软件包 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64 需要 ... ... 3.安装完成,验证是否安装成功 [root@localhost ~]# java -version openjdk version "1.8.0_151" OpenJDK Runtime Environment (build 1.8.0_151-b12) OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode) 4.通过搜索java文件,查找jdk默认安装目录 [root@localhost ~]# find / -name 'java' /etc/pki/ca-trust/extracted/java /etc/pki/java /etc/java /etc/alternatives/java /var/lib/alternatives/java /usr/bin/java /usr/lib/java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre/bin/java /usr/share/java 备注:通过yum命令在线安装jdk简单、快捷、无需配置环境变量即可使用java相关服务。

优秀的个人博客,低调大师

Centos7安装与配置Nginx

安装与配置 1.安装nginx yum intsall nginx sudo systemctl start nginx 启动服务 sudo firewall-cmd --permanent --zone=public --add-service=http 允许http通信 sudo firewall-cmd --permanent --zone=public --add-service=https 允许https通信 sudo firewall-cmd --reload 重新加载配置 2.配置 在 /etc/nginx/conf.d 目录中新建一个my.conf文件,在此之前先将nginx.conf 配置文件中的server节点注释掉 server { listen 80; #映射端口 location / { proxy_pass http://localhost:5000; #监听端口 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } 3.使用新配置启动nginx 执行这两个命令中的任一个重置nginx nginx -s reload 重新加载配置文件 systemctl nginx restart 重启nginx 4.访问网站 此时通过80端口访问网站应该是一切正常,但不凡意外发生 异常情况502 进入 /var/log/nginx/ 目录中查看错误日志,如果是以下错误,可以尝试用下面的方法解决 getsebool -a |grep httpd_can_network_connect //检查http网络访问权限情况 我们可以看到它是关闭状态的 执行 setsebool -P httpd_can_network_connect 1 //开启网络访问权限 开启后 http_can_network_connect 状态为on 此时在访问应该不会再有问题了,此文仅为学习时记录,我自己重现了三次,应该是没什么问题的。最后 跟jesse 一起学习.Net Core 。

资源下载

更多资源
Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册