欢迎光临
我们一直在努力
共 87 篇文章

标签:linux 第4页

学派吧-详解介绍Nginx中worker connections问题-linux教程

这篇文章主要介绍了Nginx中worker connections问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 查看日志,有一个[warn]: 3660#0: 20000 worker_connections are more than open file resource limit: 1024 !! 原来安装好nginx之后,默认最大的并发数为1024,如果你的网站访问量过大,已经远远超过1024这个并发数,那你就要修改worker_connecions这个值 ,这个值越大,并发数也有就大。当然,你一定要按照你自己的实际情况而定,也不能设置太大,不能让你的CPU跑满100%。 所以,当你修改提高了配置文件中的worker_connections值,然后重启nginx,你就会在日志里发现,最前面我们讲到的这一个warn警告提示,大概的意思就是: 20000并发连接已经超过了打开文件的资源限制:1024!在这种情况下,我们就要修改配置文件,添加一行来解除这个限制,这就好像是apache中的ServerLimit。 打开配置文件在"event"这行上面添加这一行: worker_rlimit_nofile xxxxx; ####Specifies the value for maximum file descriptors that can be opened by this process. 注意:设置了这个后,你修改worker_connections值时,是不能超过worker_rlimit_nofile的这个值,不然又会有前面的那个warn提示。 保存配置文件,退出重启nginx。 如果nginx 中worker_connections 值设置是1024,worker_processes 值设置是4,按反向代理模式下最大连接数的理论计算公式: 最大连接数 = worker_processes * worker_connections/4 查看相关资料,生产环境中worker_connections 建议值最好超过9000,计划将一台nginx 设置为10240,再观察一段时间。 【相关推荐】 1. Linux免费视频教程 2. 布尔教育Linux优化视频教程 3. linux中使用yum安装Nginx的实例详解 4. 教你如何在Linux中安装Nginx服务器 5. 详细介绍Linux的wget命令 以上就是详解介绍Nginx中worker connections问题的详细内容,更多请关注学派吧其它相关文章!

赞(0)adminadminunix 阅读(1762)去评论

学派吧-linux中使用yum安装Nginx的实例教程-linux教程

这篇文章主要给大家介绍了在CentOS 7中利用yum安装Nginx的方法教程,文中给出了详细的步骤介绍,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。 前言 因为最近在筹备Docker系列课程,其中涉及到在CentOS 7中安装Nginx。遇到一些问题,所以想着将过程总结分享出来供大家参考学习,下面来看看详细的介绍: 当使用以下命令安装Nginx时,发现无法安装成功。 yum install -y nginx 需要做一点处理。 安装Nginx源 执行以下命令: rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 安装该rpm后,我们就能在/etc/yum.repos.d/ 目录中看到一个名为nginx.repo 的文件。 安装Nginx 安装完Nginx源后,就可以正式安装Nginx了。 yum install -y nginx Nginx默认目录 输入命令: whereis nginx 即可看到类似于如下的内容: nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx 以下是Nginx的默认路径: (1) Nginx配置路径:/etc/nginx/ (2) PID目录:/var/run/nginx.pid (3) 错误日志:/var/log/nginx/error.log (4) 访问日志:/var/log/nginx/access.log (5) 默认站点目录:/usr/share/nginx/html 事实上,只需知道Nginx配置路径,其他路径均可在/etc/nginx/nginx.conf 以及/etc/nginx/conf.d/default.conf 中查询到。 常用命令 (1) 启动: nginx (2) 测试Nginx配置是否正确: nginx -t (3) 优雅重启: nginx -s reload 该命令与以下命令类似: kill -HUP nginx进程号 当然,Nginx也可以手动编译安装,步骤相对要繁琐一些,总的来说,还是比较简单的,本文不作赘述。 总结 【相关推荐】 1. Linux免费视频教程 2. 布尔教育Linux优化视频教程 3. Linux教程 4. 教你如何在Linux中安装Nginx服务器 5. 详细介绍Linux的wget命令 以上就是linux中使用yum安装Nginx的实例详解的详细内容,更多请关注学派吧其它相关文章!

赞(0)adminadminunix 阅读(1538)去评论

学派吧-Linux自动分区工具的示例详细介绍-linux教程

注意:由于相关操作可能会导致数据丢失。 所以,执行操作之前,请务必确保已经通过快照等手段对数据进行有效备份,或明确相关数据丢失无影响。 普通云磁盘 适用系统:兼容线上所有非 IO 优化实例的普通云盘的 Liunx 版本。 使用方法:以 root 身份执行命令:bash auto_fdisk.sh。 适用场景:一键式检测是否有尚未分区的数据盘,并能对其格式化和自动挂载,省去了复杂的命令和步骤。 SSD云磁盘 适用系统:兼容线上所有 IO 优化和 SSD 云盘的 Linux版本。 使用方法:以 root 身份执行命令:bash auto_fdisk_ssd.sh。 适用场景:一键式检测是否有尚未分区的数据盘,并能对其格式化和自动挂载,省去了复杂的命令和步骤。 常见问题 问题现象 脚本运行后,出现如下错误信息: Step 1.No lock file,begin to create lock file and continue.Step 2.Begin to check free disk.No free disk need to be fdisk.Exit script. 问题原因 出现以上报错很可能是由于数据盘是 SSD 云盘,而使用了 auto_fdisk.sh 进行了操作。该脚本只适用于普通云磁盘。 处理办法 如果数据盘是 IO 优化的或 SSD 云盘,则需要使用 auto_fdisk_ssd.sh 脚本进行操作。 以上就是Linux自动分区工具的示例详细介绍的详细内容,更多请关注学派吧其它相关文章!

赞(0)adminadminunix 阅读(2006)去评论

学派吧-在Linux下安装FTP及添加用户的实例教程-linux教程

本篇文章主要介绍了详解CentOS6.8 安装FTP及添加用户 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 一 安装FTP 1 检测是否已经安装FTP rpm -qa | grep vsftpd 2 若没有,则进行安装 yum install vsftpd 二 设置vsftpd开机启动 chkconfig --level 35 vsftpd on 三 配置FTP服务器(开启基于用户的访问控制) 1 配置文件的修改 vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO # 是否开启匿名登录 local_enable=YES # 是否允许本地用户登录 write_enable=YES # 是否允许上传 local_umask=022 # 默认的umask码 diremssage_enable=YES # 是否显示目录说明文件 xferlog_enable=YES # 是否记录ftp传输过程 connect_from_prot_20=YES # 是否确定端口传输来自20 xferlog_ftd_format=YES # 是否使用标准的ftp xferlog模式 chroot_list_enable=YES # 是否将系统用户限制在自己的home目录下 chroot_list_file=/etc/vsftpd/chroot_list # 列表不受限制的用户 listen=YES # 是否开启监听 pam_service_name=vsftpd # 服务名称 userlist_enable=YES tcp_wrappers=YES 2 修改selinux getsebool -a | grep ftp 若报错,getsebool: SELinux is disabled。则 vim /etc/selinux/config 修改 SELINUX=1。 然后重启LINUX,"shutdown -r now" 立刻重启(root用户使用)。 重新执行 "getsebool -a | grep ftp"。 修改selinux,允许用户在家目录写入数据 setsebool -P allow_ftpd_anon_write off setsebool -P ftp_home_dir on 四 创建虚拟用户 1 创建一个用户,然后修改用户的登陆shell为nologin,让用户不能登陆系统,只能使用ftp之内的服务 useradd -d /home/www/test -g ftp -s /sbin/nologin test # 指定用户 test 属于组 ftp,只能访问的目录是...

赞(0)adminadminunix 阅读(1730)去评论

学派吧-NGINX反向代理下TOMCAT集群的介绍-linux教程

下面小编就为大家带来一篇LINUX中NGINX反向代理下的TOMCAT集群(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 Nginx具有反向代理(注意和正向代理的区别)和负载均衡等特点。 这次Nginx安装在 192.168.1.108 这台linux 机器上。安装Nginx 先要装openssl库,gcc,PCRE,zlib库等。 Tomcat 安装在192.168.1.168 和 192.168.1.178 这两台机器上。客户端通过访问192.168.1.108 反向代理访问到 192.168.1.168 和 192.168.1.178 里Tomcat 部署的工程内容。 1.Linux 下安装Nginx (机器192.168.1.108) 安装openssl库。 yum install -y openssl openssl-devel 需要安装gcc:yum install gcc-c++ 安装 PCRE yum install -y pcre pcre-devel 安装zlib库 yum install -y zlib zlib-devel 下载nginx: wget http://nginx.org/download/nginx-1.13.0.tar.gz 装在 /usr/local/ 下 解压 tar -zxvf nginx-1.13.0.tar.gz 进入目录 运行 ./configure 产生makefile 此时目录多出了 makefile 编译make 安装:make install 完成后 local 目录下 多了个 nginx 启动 nginx 进入sbin 目录 执行./nginx 查看启动结果 Window 访问 192.168.1.108 nginx 默认端口为80 关闭 ./nginx -s stop 关闭后此时对应也无法访问 ./nginx -s reload 可以在启动后重新加载配置文件 适合于在启动会修改了配置文件 2.Linux 下安装Tomcat (192.168.1.168 和 192.168.1.178 机器) 安装过程很简单,不述说了。分别在另两台Linux 机器(192.168.1.168 和 192.168.1.178)安装Tomcat ,随便部署个工程nginxTest 一个内容是 1111……. 一个是22222……. 此时访问的是不同的IP地址,还没用Nginx 配置进去当反向代理服务器。 3. Nginx当做反向代理服务器 主要配置nginx.conf 里的内容 a. 配置服务器组,在http{}节点之间添加upstream配置。 192.168.1.168:9090 和 192.168.1.178:9191 是另两台Linux 机器的Tomcat (看上述2) upstream lxstest{ server 192.168.1.168:9090;...

赞(0)adminadminunix 阅读(2079)去评论

学派吧-Docker手动添加网桥方法详解-linux教程

本篇文章主要介绍了Docker如何添加自定义网桥,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 Docker服务进程在启动的时候会生成一个名为docker0的网桥,容器默认都会挂载到该网桥下,但是我们可以通过添加docker启动参数-b Birdge 或更改docker配置文件来选择使用哪个网桥。 操作系统:centos7 删除docker0网桥 service docker stop //关闭docker服务 ip link set dev docker0 down //关闭docker0网桥 ip link del dev docker0 //删除docker0网桥 自定义网桥设置(/etc/sysconfig/network-scripts/ifcfg-br0文件) DEVICE="br0" ONBOOT="yes" TYPE="Bridge" BOOTPROTO="static" IPADDR="10.10.10.20" NETMASK="255.255.255.0" GATEWAY="10.10.10.20" DEFROUTE="yes" NM_CONTROLLED="no" 重启网络服务 service network restart 查看网桥 [black@test opt]$ brctl show bridge name bridge id STP enabled interfaces br0 8000.32e7297502be no virbr0 8000.000000000000 yes 接下来我们需要重新启动docker,可以在启动docker服务进程时使用以下两种方式: 第一种:-b 参数指定网桥 [root@test opt]# docker -d -b br0 INFO[0000] Listening for HTTP on unix (/var/run/docker.sock) INFO[0000] [graphdriver] using prior storage driver "devicemapper" WARN[0000] Running modprobe bridge nf_nat failed with message: , error: exit status 1 INFO[0000] Loading containers: start. ...... INFO[0000] Loading containers: done. INFO[0000] Daemon has completed initialization INFO[0000] Docker daemon commit=786b29d execdriver=native-0.2 graphdriver=devicemapper version=1.7.1 不知道为什么这样启动docker 服务进程会阻塞当前终端(︶︿︶),只好重新开一个终端,然后运行一个容器 [root@test shell]# docker run -ti --rm...

赞(0)adminadminunix 阅读(1704)去评论

学派吧-Linux备份及恢复及文件权限的介绍-linux教程

这篇文章主要介绍了Linux备份及恢复及Linux文件权限详解的相关资料,需要的朋友可以参考下 Linux备份及恢复及Linux文件权限详解 概述 一个系统管理员菜鸟不小心输入”chmod -R 777 /”从而导致了巨大的悲剧,使得整个系统遭到了严重的破坏。在日常管理中,我们有许多工具可以用来备份文件权限,如cp、rsync、etckeeper等。如果你使用了这个备份工具,那么你的确不需要担心改变的文件权限问题。 但如果只是想暂时备份文件权限(而不是文件本身),例如:为了阻止一些目录的内容被覆盖暂时移除该目录下所有文件写的权限;或是正在排除文件权限问题的过程中需要对文件进行chmod命令操作。在这些情况下,我们可以在原始文件权限改变之前对其进行备份,一会我们需要它的时候再将原始权限还原。在很多情况下,如果你只是想要备份文件的权限,那么完整的文件备份是不必要的。 在Linux上,实际上备份和恢复文件权限使用访问控制列表(ACL)是容易的。ACL根据不同的属主和属组在兼容posix的文件系统上定义了单个文件的权限。 安装ACL工具 在Debian, Ubuntu,Linux Mint上 $ sudo apt-get install acl 在CentOS,Fedora,RHEL上 $ sudo yum install acl 备份当前目录下(包括子目录)所有文件的权限 [xgj@entel2 shells]$ getfacl -R . > permissions.txt [xgj@entel2 shells]$ [xgj@entel2 shells]$ ll total 8 -rw-rw-r-- 1 xgj xgj 231 Jan 16 12:32 permissions.txt -rwxrwxr-x 1 xgj xgj 420 Jan 16 12:14 sys_info.sh 此命令将所有文件的ACL信息全部写入名为permissions.txt文件。 以下是生成的permissions.txt文件中部分目录信息 [xgj@entel2 shells]$ cat permissions.txt # file: . # owner: xgj # group: xgj user::rwx group::rwx other::r-x # file: sys_info.sh # owner: xgj # group: xgj user::rwx group::rwx other::r-x # file: permissions.txt # owner: xgj # group: xgj user::rw- group::rw- other::r-- 修改某一文件权限 [xgj@entel2 shells]$ ll total 8 -rw-rw-r-- 1 xgj xgj 231 Jan 16 12:32 permissions.txt -rwxrwxr-x 1 xgj xgj 420 Jan...

赞(0)adminadminunix 阅读(1287)去评论

学派吧-教你怎么在linux/centos中调整分区大小-linux教程

本篇文章主要介绍了linux如何无损调整分区大小,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 情况: home:500G root:50G root分区不够用 思路:把home分区的空间划一部分到root分区 # 设置home分区大小为200G,释放300G空间 $ lvreduce -L 200G /dev/centos/home # 将空闲空间扩展到root分区 $ lvextend -l +100%FREE /dev/centos/root # 使用XFS文件系统自带的命令集增加分区空间 $ xfs_growfs /dev/mapper/centos-root 实例 situation 挂载在根目录的分区 /dev/mapper/centos-root 爆满,占用100% $ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 50G 50G 19M 100% / devtmpfs 32G 0 32G 0% /dev tmpfs 32G 0 32G 0% /dev/shm tmpfs 32G 2.5G 29G 8% /run tmpfs 32G 0 32G 0% /sys/fs/cgroup /dev/mapper/centos-home 476G 33M 476G 1% /home /dev/sda1 497M 238M 259M 48% /boot tmpfs 6.3G 0 6.3G 0% /run/user/0 analyze 挂载在根目录的分区空间太小,只有50G,而服务器 home 目录为非常用目录,挂在了近500G的空间。 思路:从 centos-home 分区划出300G空间到 centos-root 分区。 operation 1.查看各分区信息 $ lvdisplay --- Logical volume --- LV Path /dev/centos/home LV Name home VG Name centos LV UUID 1fAt1E-bQsa-1HXR-MCE2-5VZ1-xzBz-iI1SLv LV Write Access...

赞(0)adminadminunix 阅读(1632)去评论

学派吧-linux/centos下zip文件解压出现乱码怎么办?-linux教程

本篇文章主要介绍了解决linux下zip文件解压乱码问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。 原因 由于zip格式并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,因此,导致这些zip文件在Linux下解压时出现乱码问题,因为Linux下的默认编码是UTF8。 解决方案一 使用7z解压。 安装p7zip和convmv # fedora $ su -c 'yum install p7zip convmv' # ubuntu $ sudo apt-get install p7zip convmv 执行一下命令解压缩 # 使用7z解压缩 $ LANG=C 7za x your-zip-file.zip # 递归转码 $ convmv -f GBK -t utf8 --notest -r . 解决方案二 在windows上压缩的文件,是以系统默认编码中文来压缩文件。由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码。 虽然2005年就有人把这报告为bug, 但是info-zip的官方网站没有把自动识别编码列入计划,可能他们不认为这是个问题。Sun对java中存在N年的zip编码问题,采用了同样的处理方式。 有2种方式解决问题: 1. 通过unzip行命令解压,指定字符集 unzip -O CP936 xxx.zip (用GBK, GB18030也可以) 有趣的是unzip的manual中并无这个选项的说明, unzip –help对这个参数有一行简单的说明。 2. 在环境变量中,指定unzip参数,总是以指定的字符集显示和解压文件 /etc/environment中加入2行 UNZIP="-O CP936" ZIPINFO="-O CP936" 这样Gnome桌面的归档文件管理器(file-roller)可以正常使用unzip解压中文,但是file-roller本身并不能设置编码传递给unzip。 【相关推荐】 1. Mysql免费视频教程 2. 详解innodb_index_stats导入数据时 提示表主键冲突的错误 3. 实例详解 mysql中innodb_autoinc_lock_mode 4. MySQL中添加新用户权限的实例详解 5. Linux如何检测服务器网络状况 以上就是linux下zip文件解压出现乱码怎么办?的详细内容,更多请关注学派吧其它相关文章!

赞(0)adminadminunix 阅读(1660)去评论

关于普通云盘和SSD云盘添加挂载信息区别和注意事项-学派吧

本篇文章给大家带来的内容是关于普通云盘和SSD云盘添加挂载信息时的注意事项,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 普通云盘和SSD云盘添加挂载信息时的注意事项 Linux系统添加数据盘时,按照 Linux 系统挂载数据盘 第5步添加分区信息时要注意,/dev/xvdb1是普通云盘的挂载点,如果使用的是SSD云盘,挂载点为/dev/vdb1。如果添加了错误的信息,使用mount -a命令将无法挂载,开机也无法挂载。 1. 使用fdisk -l查看一下具体的数据盘信息。 2. 查看一下/etc/fstab里面添加的信息是否对应。而且注意不要重复添加挂载信息,这样会导致开机重复挂载是系统无法启动。 3. 用vim/vi编辑器修改/etc/fstab文件。 4. 将错误的信息注释或者删除,添加对应的挂载信息后在使用mount -a 测试一下。 以上就是关于普通云盘和SSD云盘添加挂载信息时的注意事项的详细内容,更多请关注学派吧其它相关文章!

赞(0)adminadminunix 阅读(2245)去评论

如何确认已经卸载数据盘并可以新建自定义镜像-linux教程-学派吧

本篇文章给大家带来的内容是关于如何确认已经卸载数据盘并可以新建自定义镜像,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 自定义镜像 FAQ 如何查看数据盘? 您可以通过 df 命令查看数据盘的使用情况,以及文件系统被挂载的位置。例如:df –lh 您可以通过 fdisk 命令获取数据盘的分区情况。例如:fdisk -l 如何卸载和删除 disk table 里的数据? 假设 /dev/hda5 已经挂载在 /mnt/hda5 上,您可以使用下列任一命令卸载已挂载的文件系统: umount /dev/hda5 umount /mnt/hda5 umount /dev/hda5 /mnt/hda5 /etc/fstab是 Linux 系统下比较重要的配置文件,其包含了系统在启动时挂载的文件系统和存储设备的详细信息。 当您不想在启动实例时挂载指定分区,需要删除当前文件中对应的语句行。例如,删除下面的语句可以在启动的时候断开 xvdb1: /dev/xvdb1 /leejd ext4 defaults 0 0 如何确认已经卸载数据盘,并可以新建自定义镜像? 确认 /etc/fstab 文件中对应的自动挂载数据盘分区语句行已被删除。 使用 mount 命令查看所有设备的挂载信息,并确认执行结果中不包含对应的数据盘分区信息。 实例释放后,自定义镜像是否还存在? 存在。 实例释放后,快照是否还存在? 保留手动快照,自动快照会随着实例释放而被清除。更多详情,请参阅 自动快照 FAQ。 用于创建自定义镜像的实例到期或释放数据后,创建的自定义镜像是否受影响?使用自定义镜像开通的实例是否受影响? 均不受影响。 使用自定义镜像创建的实例是否可以更换操作系统?更换系统后原来的自定义镜像是否还可以使用? 可以。更换后原来的自定义镜像还可以继续使用。 更换系统盘时另选操作系统,是否可以使用自定义镜像? 可以。 注意:系统盘更换为自定义镜像后,原来的数据将被全覆盖。 已创建的自定义镜像,是否可以用于更换另一台云服务器 ECS 的系统盘数据? 可以。但需要注意,自定义镜像将全部覆盖该服务器系统盘的所有数据。请参考使用镜像创建 ECS 实例。 是否可以升级自定义镜像开通的云服务器 ECS 的 CPU、内存、带宽、硬盘等? 均可以升级。 是否可以跨地域使用自定义镜像? 不可以。自定义镜像只能在同一个地域使用。例如:在华东 1 地域的实例中创建的自定义镜像,不可以用在华北 1 地域开通云服务器 ECS。 如果您需要跨地域使用自定义镜像,可以通过复制镜像来实现,请参见复制镜像。 包年包月实例的自定义镜像,是否可以用于创建按量付费的云服务器 ECS? 可以。自定义镜像功能不区分实例的付费方式,即不区分是否包年包月或按量付费。 以上就是如何确认已经卸载数据盘并可以新建自定义镜像的详细内容,更多请关注学派吧其它相关文章!

赞(0)adminadminunix 阅读(1880)去评论

linux环境下如何实现查看和修改时间?-linux教程-学派吧

本篇文章给大家带来的内容是介绍linux环境下实现查看和修改时间的方法 。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 1、查看日期和时间 date 2、查看时区 date -R 3、查看UTC时间 date -u 4、修改日期 [root@centos ~]# date -s 20181230 /*显示为:Sun Dec 30 00:00:00 EST 2018 */ 修改格式为:年、月、日 注:修改完之后,时间会变成0点 5、修改时间 [root@centos ~]# date -s 0815 /* 显示为:Sun Dec 30 08:15:00 EST 2018 */ 修改格式为:小时、分钟 6、修改日期和时间 [root@centos ~]# date 1230081518 /* 显示为:Sun Dec 30 08:15:00 EST 2018 */ 修改格式为:月、日、小时、分钟、年 7、年份输入两位时默认是21世纪,也可以输入完整的年份 [root@centos ~]# date 123008152018 /* 显示为:Sun Dec 30 08:15:00 EST 2018 */ 8、也可以忽略年份 [root@centos ~]# date 1230081520 /* 显示为:Sun Dec 30 08:15:00 EST 2018 */ 9、如果需要修改秒,则可以加到最后,用点分割 [root@centos ~]# date 123008152018.20 /* 显示为:Sun Dec 30 08:15:20 EST 2018 */ 10、查看硬件时间 [root@centos ~]# hwclock /* 显示为:Thu 11 Oct 2018 09:32:03 PM EDT -1.047765 seconds */ 11、硬件时间同步到系统 hwclock --hctosys 12、系统时间同步到硬件 hwclock --systohc 以上就是linux环境下如何实现查看和修改时间?的详细内容,更多请关注学派吧其它相关文章!

赞(0)adminadminunix 阅读(1426)去评论

Linux环境下如何编译和执行c程序教程-linux运维-学派吧

本篇文章给大家带来的内容是介绍Linux环境下如何编译和执行c程序?(详解) 。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 1 单个文件的编译和执行 创建main.c文件,内容如下: #include <stdio.h>#include <stdlib.h>int main(void){ printf("Hello world!\n");return 0; }; 编译: gcc -o main main.o 执行: root@ubuntu:/ybg/python# ./main Input an integer:10sum=55 2 多个文件的编译和执行创建sum.c文件,内容如下: #include <stdio.h>#include <stdlib.h>int sum(int x){int i, result=0;for(i=0; i<=x; i++){ result+=i; }if(x > 100) exit(-1);return result; }; 创建main.c文件,内容如下: #include <stdio.h>#include <stdlib.h>int main(void){int x; printf("Input an integer:\n"); scanf("%d", &x); printf("sum=%d\n", sum(x));return 0; }; 编译 gcc -c sum.c -fPIC -o sum.ogcc -c main.c -fPIC -o main.o 生成可执行文件,文件名为main gcc -o main sum.o main.o 执行程序 ./main 执行结果同上 3 使用动态链接库方式 生成动态链接库 gcc sum.o -shared -o sum.so 生成可执行文件,文件名为main gcc -o main sum.o main.o 执行 ./main 如果有以下报错,说明在默认的动态链接库路径下没有找到刚刚生成的sum.so ./main: error while loading shared libraries: sum.so: cannot open shared object file: No such file or directory 执行以下命令,将当前目录添加到动态链接库查找路径环境变量 export LD_LIBRARY_PATH=pwd:$LD_LIBRARY_PATH 再次执行 ./main 执行结果同上 4 python调用.so动态链接库...

赞(0)adminadminunix 阅读(1502)去评论

Linux中常用命令的总结教程-linux运维-学派吧

本篇文章给大家带来的内容是关于Linux中常用命令的总结(详细),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 ls -alrtAFR -a 显示所有文件及目录 (ls 内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出-r 将文件以相反次序显示(原定依英文字母次序)-t 将文件依建立时间之先后次序列出-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"-R 若目录下有文件,则以下之文件亦皆依序列出 touch -acfm-r<参考文件或目录>–help[文件或目录…] 用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。 mkdir [-p] dirName -p 确保目录名称存在,不存在的就建一个。mkdir -p BBB/Test 在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。 若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB 目录不存在,则产生错误。) rm [options] name… -i 删除前逐一询问确认。-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。-r 将目录及以下之档案亦逐一删除。 mv [options] source dest -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;-f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;mv 文件名 文件名 将源文件名改为目标文件名mv 文件名 目录名 将文件移动到目标目录mv 目录名 目录名 目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名mv 目录名 文件名 出错 cp [options] source dest -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于 dpR 参数组合。-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。-f:覆盖已经存在的目标文件而不给出提示。-i:与-f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。-l:不复制文件,只是生成链接文件。 cat -AbeEnstTuv [–version] fileName -n 或 –number:由 1 开始对所有输出的行数编号。-b 或 –number-nonblank:和 -n 相似,只不过对于空白行不编号。-s 或 –squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。 scp [可选参数] file_source file_target -r: 递归复制整个目录。-P port:注意是大写的 P, port 是指定数据传输用到的端口号 1、从本地复制到远程 scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@remote_ip:remote_file 或者 scp local_file remote_ip:remote_folder 或者...

赞(0)adminadminunix 阅读(1410)去评论

Linux下alias命令的用法介绍-linux运维-学派吧

本篇文章给大家带来的内容是关于Linux下alias命令的用法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 最近在使用ssh连接远程机器敲了类似ssh -i ~/.ssh/138.pem ec2-user@192.168.21.138 这么长一串命令的时候被我们的运维吐槽了一波,遂给我安利了这个命令 1.alias的使用 alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化.用alias 短命令='原命令 选项' alias 138ssh= 'ssh -i ~/.ssh/138.pem ec2-user@192.168.21.138' 这下子就可以直接使用138ssh 来代替原来ssh -i ~/.ssh/138.pem ec2-user@192.168.21.138 查看当前所有的alias alias-p 删除一个alias unalias 命令 然后我就开开心心的用上了短命令,再也不用去记服务器的ip地址了. 2.alias的持久化 第二天等我上班的时候开开心心的敲出我的短命令的时候发现 赶紧跑去问运维大哥,然后告诉我alias每次重启都需要重新设置???那这还怎么玩耍还好运维大哥又教了我一招 将alias命令加入 /etc/.bashrc 或者 ~/.bashrc文件就不用每次重启都重新设置了/etc/.bashrc针对所有用户生效,~/.bashrc是针对当前用户生效ps:我的系统是深度linux 修改的是/etc/bash.bashrc 最后执行下 source /etc/bash.bashrc 命令 alias设置的短命令就又可以使用了 注:source Filname 在当前bash环境下读取并执行FileName中的命令 以上就是Linux下alias命令的用法介绍的详细内容,更多请关注学派吧其它相关文章!

赞(0)adminadminunix 阅读(1556)去评论

使用ECS安全组工具撤销之前如何进行账号间互通的操作-linux运维-学派吧

本篇文章给大家带来的内容是关于使用ECS安全组工具撤销之前如何进行账号间互通的操作,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 使用ECS安全组工具撤销之前账号间互通的操作 需要准备的信息: 1、账号名:顾名思义,就是登录控制台的账号 2、ECS对应的安全组:打通了账号内网互通的ECS所在的安全组,可以在控制台查看到,或通过API方法来查询 3、ECS所在的地域名称,形如“cn-beijing”的字符串 需要使用的API方法为RevokeSecurityGroup,该方法是撤销安全组“出方向”的方法,相关使用到的参数如下: 请求参数 操作需要分两步来进行,首先使用A账户,来撤销A账户中授权B账户访问的规则;然后对应的,使用B账户来撤销A账户的授权规则。 譬如,先使用A账户通过AliyunCLI来撤销B账户的访问规则: 相关账户等信息假设如下,同时假定之前账户内网打通是通过提交工单来打通的: 那么根据之前得到的信息,传入AliyunCLI的所有参数取值如下: 所以,最终输入执行的命令为: aliyuncli ecs RevokeSecurityGroup -- SecurityGroupId sg-a12345 --RegionId cn-beijing -- IpProtocol all --PortRange -1/-1 -- SourceGroupId sg-b67890 -- SourceGroupOwnerAccount b@aliyun.com -- NicType intranet 这样就撤消了A账户下允许B账户访问的规则。接着,以此类推,换用B账户来撤销允许A账户访问的规则,这样就完成了撤销A、B账户之间账户间内网互通的规则了。 以上就是使用ECS安全组工具撤销之前如何进行账号间互通的操作的详细内容,更多请关注学派吧其它相关文章!

赞(0)adminadminunix 阅读(1514)去评论

本地tomcat正常,但liunx poi excel下载却内容乱码问题的解决方法-学派吧

本篇文章就给大家介绍本地tomcat正常,但liunx poi excel下载却内容乱码问题的解决方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 结论:在jsp中加上out.clear即可(前提保证生成的excel在服务器上是正确的,只是浏览器传输才出现乱码)。 dowload.jsp完整代码 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <%@ page import="com.userpackage.*" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; request. setCharacterEncoding("UTF-8"); //response.setHeader("Content-Type", "charset=UTF-8"); %> <% /* Enumeration pNames = request.getParameterNames(); String keyStr=""; String valueStr=""; Map map = new HashMap(); while (pNames.hasMoreElements()) { keyStr = pNames.nextElement().toString(); valueStr = request.getParameter(keyStr).toString().trim(); if(!"".equals(valueStr)){ out.println(keyStr+"=="+valueStr); } } */out.clear();out = pageContext.pushBody(); ExcelExport.export(request,response); out.println("22222"); %> 现象: response.reset();// 在servlet中加入,清除首部的空白行 以上就是本地tomcat正常,但liunx poi excel下载却内容乱码问题的解决方法的详细内容,更多请关注php中文网其它相关文章!

赞(0)adminadminunix 阅读(2193)去评论
如何在Linode CentOS7开启Google TCP-BBR优化算法 | linux运维-

如何在Linode CentOS7开启Google TCP-BBR优化算法 | linux运维

Linux在4.9版本的内核新增了一款TCP拥塞控制技术:BBR,Linode最新内核也更新到4.9,但是没有把BBR编译进去,下面是教程是替换Linode CentOS7内核,并开启Google TCP-BBR优化算法方法。 注意:Linode、阿里云测试OK,Ucloud测试加载4.9变为只读系统。 1. 安装elrepo提供的kernel4.9 增加elrepo源 cat > /etc/yum.repos.d/elrepo.repo << EOF [elrepo-kernel] name=ELRepo.org Community Enterprise Linux Kernel Repository - el7 baseurl=http://elrepo.org/linux/kernel/el7/\$basearch/ http://mirrors.coreix.net/elrepo/kernel/el7/\$basearch/ http://jur-linux.org/download/elrepo/kernel/el7/\$basearch/ http://repos.lax-noc.com/elrepo/kernel/el7/\$basearch/ http://mirror.ventraip.net.au/elrepo/kernel/el7/\$basearch/ enabled=1 gpgcheck=0 EOF 可能存在yum更新内核时候找不到升级包,请检查/etc/yum.conf是否过滤了kernel 找到改文件将exclude=kernel* centos-release*注销,再尝试安装 安装elrepo替换4.9内核及grub2 yum -y install kernel-ml grub2 查看4.9内核是否安装成功 [root@linode1495332 ~]# ls -l /boot/vmlinuz* -rwxr-xr-x 1 root root 6037696 Dec 22 10:16 /boot/vmlinuz-0-rescue-72863e389b584a4dab36fae7f3bffda2 -rwxr-xr-x 1 root root 6037696 Dec 12 05:37 /boot/vmlinuz-4.9.0-1.el7.elrepo.x86_64 2. 替换CentOS7内核 Linode内核切换方法: [root@linode1495332 etc]# mkdir /boot/grub [root@linode1495332 etc]# grub2-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file … Found linux image: /boot/vmlinuz-4.9.0-1.el7.elrepo.x86_64 Found initrd image: /boot/initramfs-4.9.0-1.el7.elrepo.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-72863e389b584a4dab36fae7f3bffda2 Found initrd image: /boot/initramfs-0-rescue-72863e389b584a4dab36fae7f3bffda2.img done 点击Linode后台面板Dashboard,点击Edit按钮: 在Kernel下拉菜单,选择GRUB 2启动: 非Linode切换内核方法: [root@oneinstack ~]#  awk -F\’ ‘$1==”menuentry ” {print $2}’ /etc/grub2.cfg CentOS Linux (4.9.0-1.el7.elrepo.x86_64) 7 (Core) CentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core) CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core) CentOS Linux (0-rescue-7d26c16f128042a684ea474c9e2c240f) 7 (Core) grub2-set-default 0,切换到新内核 [root@oneinstack ~]# grub2-set-default 0 重启服务器: reboot 查看内核版本 [root@linode1495332 ~]# uname -a Linux linode1495332.members.linode.com 4.9.0-1.el7.elrepo.x86_64 #1 SMP Sun Dec 11 15:43:54 EST 2016 x86_64 x86_64 x86_64 GNU/Linux 3. 开启TCP-BBR cat >>/etc/sysctl.conf << EOF net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr EOF 内核参数生效: sysctl -p 查看bbr是否生效: [root@linode1495332 ~]# sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp_available_congestion_control = bbr cubic reno [root@linode1495332 ~]# lsmod | grep bbr tcp_bbr                16384  70 Thu Dec 22 11:17:53 CST 2016

赞(0)adminadminunix 阅读(2163)去评论

更好的服务器推荐选择

本站主要用于阿里云、腾讯云、华为云服务器活动的推荐及优惠购买方式、并搜集服务器运维的日常解决方案!

联系我们联系我们

登录

找回密码

注册