1、Linux中服务器软件为什么需要编译安装
服务器CPU事实已经被Intel垄断了,就那么几种型号,编来编去生成的机器码是一样的。Intel宣传自己的编译工具Intel C++ Compiler 比GCC编译出来性能要提升10%-20%,这就是一广告,生产环境很少用人用它,何况它还要收费
性能真不是问题,比如 strip 命令可以大大减小可执行文件的size,但是我装过几千遍软件,都没有见有人在安装脚本里面使用。
软件需要编译安装的真实理由有如下3点:
1.软件在编译期间需要配置,比如说nginx,需要在编译的时候指定包含哪些mole,php,apache 也是一样。
同样的是数据库,mysql 通过编译安装,因为要定制存储引擎(是否支持innodb .. ),而sqlite却绝少有人编译,都是直接下载二进制文件来用。
2.软件需要统一安装路径,每个team都会自己的安装目录约定,有些喜欢装在 /opt/下面,有些喜欢装在 /usr/local/ ,编译安装可以方便的指定这些路径(configure --prefix=xxx )
3.需要最新的版本,软件仓库的版本一般都比较低,这个理由其实不充分,生产环境倾向保守,不追求最新版本,但是对于geek来说,这可能是最重要的原因
弄明白原因之后,就很容易判断编译还是下载:
nginx/apache/php/mysql 编译安装
python/ruby/java 直接下载
2、如何搭建一台Linux开发服务器
在开发过程中,必然会出现多人同时工作、协着的情况,在嵌入式开发项目中更为平常,这样可以加快项目周期,为产品上市占得时间先机。目前,使用Linux作为开发产品的操作系统情况越来越多,使用越来越广泛。为了交叉编译,为了最接近开发目标,我们一般都会自己搭建一台Linux开发服务器。Linux开发服务器一些常用的功能必须支持,比如Samba、nfs、tftp、httpd等。首先我们需要选择合适的Linux操作系统作为服务器的系统,推荐使用Fedora8、Fedora10等,笔者在长期使用的过程中觉得比较稳定吧!如何安装该操作系统就不多说了。 装好系统后,需要增加Linux OS用户,可以使用命令#adser XXX;增加XXX用户,#passwd XXX给其设置登录密码。当然使用图形化创建用户也很直观、方便。在这个环节值得注意的一定要设置好该用户的home目录,一般都会设置到该用户的工作目录,各个用户的工作目录需要私有化、独立开来,这样方便些、安全些。 多用户的账户有了,我们应该来打通网络功能了,Fedora有bug,在图形化配置GATEWAY什么的会不成功,请安装如下方法修改: # cd cd /etc/sysconfig/network-scripts/ # vi ifcfg-eth0 修改配置文件如下: # Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller DEVICE=eth0 HWADDR=00:16:e6:db:c2:96 ONBOOT=yes BOOTPROTO=static //这个应该是“static”,而不是“dhcp”或“none”; USERCTL=yes PEERDNS=yes IPV6INIT=no NM_CONTROLLED=yes//这个应该是“yes”,如不修改,链接仍是disconnected; TYPE=Ethernet NETMASK=***.***.***.*** IPADDR=***.***.***.*** DNS1=***.***.***.*** DNS2=***.***.***.*** GATEWAY=***.***.***.*** step 3: # service network restart 接下来就需要调试一下Samba功能了,这样在windows下编辑Linux下的代码将非常的便利。命令行下操作方法如下: Vim /etc/samba/smbusers # Unix_name = SMB_name1 SMB_name2 … root = administrator admin nobody = guest pcguest smbguest dssun = dssun hmchen = hmchen 增加Samba用户; Vim /etc/samba/smb.conf [dssun] comment = * path = /opt/STM/STLinux-2.3/devkit/dtvkit/dssun writeable = yes ; browseable = yes valid users = bluo, dssun, hmchen, hqian, sbxiang, tsfu, yrli 设置工作路径,可读写性、有效访问的用户等。 在图形化下也有配置菜单,这个就很简单了,不再叙述。 有了Samba就方便很多了!编译编辑都很不错了!接下来要着手你的开发平台软件,这个对于不同平台的SDK有不同的处理方法,根据自己的SDK来处理。 有了SDK后,我们编译通过后,一般都会进行调试,如何方便的调试呢?一般都会想到使用nfs调试。 以Fedora为例,一般默认安装的没有包括tftp功能,可以使用yum来安装,方便! #yum install tftp; #yum install tftp-server 还需要更改一下tftp的配置,如下: vim /etc/xinetd.d/tftp 修改server_args = -s /tftpboot -c,这里的-c一定要加上,否则只能下载不能上传!!! service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot -c per_source = 11 cps = 100 2 flags = IPv4 } # mkdir /tftpboot # chmod 777 -R /tftpboot/ # service xinetd restart 记得要关闭防火墙、seLinux.不disabled seLinux,Samba有可能只能读不能写,切记。
3、如何在远程Linux服务器上搭建Nginx
1.将nginx的压缩包nginx-1.8.0.tar.gz上传到Linux服务器
2.由于nginx是C语言开发的并且我们这里是通过编译nginx的源码来安装nginx,所以Linux上要安装C语言的编译环境gcc,
如果已经安装此步可以省略,否则执行命令:
3.nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
yum install -y pcre pcre-devel
4.zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
5.nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
6.在Linux上创建nginx的临时目录,注意我这里是在Linux文件系统下的
/var下创建文件夹temp在temp下创建nginx。即:/var/temp/nginx
7.执行命令:
./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_mole --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi
8.编译源码,安装nginx:
make make install
9.启动nginx:
cd /usr/local/nginx/sbin/./nginx -c /usr/local/nginx/conf/nginx.conf
在浏览器中访问: http://localhost 出现下面界面表示安装成功:
我们此时也可以查看到nginx进程的运行情况:
ps aux|grep nginx
10.nginx服务器的停止方式:
方式一:先查出nginx进程id再使用kill命令强制杀掉进程。
cd /usr/local/nginx/sbin./nginx -s stop
方式二(推荐):待nginx进程处理任务完毕进行停止。
cd /usr/local/nginx/sbin./nginx -s quit
以上就是本文的全部内容,希望对大家的学习有所帮助
4、Linux编译服务器上怎么下载内核源码
编译linux内核步骤: 1、安装内核 如果内核已经安装(/usr/src/目录有linux子目录),跳过。如果没有安装,在光驱中放入linux安装光盘,找到kernel-source-2.xx.xx.rpm文件(xx代表数字,表示内核的版本号),比如RedHat linux的RPMS目录是/RedH...
5、怎么在Linux服务器上编译虚幻4
linux终端下,编译C语言程序步骤为:采用vi进行源代码编写,编写完成后,:wq存盘退出,如:vi test.c
在命令行下,运行gcc编译程序,生成执行码,如:gcc -o test test.c-o 表示指明生成的执行码名称
运行编译后的执行码./test
6、如何在linux系统的服务器上进行编译
方法/步骤
打开Myeclipse编辑器,在已经完成的web项目上面点击右键,选择export,然后选择导出成war包,将导出的war包放在桌面或者其他文件夹。
这里我们使用putty连接到远程的linux服务器上,双击运行putty软件,输入linux服务器的ip地址,点击连接,输入账号密码后进入到linux服务器中
在ubuntu服务器中安装java环境,tomcat,和mysql等必须的软件。可以通过apt-get install 来进行安装
通过winscp软件,把第一步导出来的项目的war包传输到linux服务器上自己设定的目录下
5
把项目的war包通过cp或者mv命令移动到tomcat目录下的webapps目录的下面
6
在linux服务器上切换到tomcat安装目录下的bin目录下,通过./startup.sh命令启动tomcat服务器,这样就能通过ip:8080/项目名 来访问目标网站了。
7、linux编译的程序如何转移到别的linux系统 (满意追加50)
1、使用rpm包进行安装;
优点是不需要另外的编译机,缺点是要安装其他的依赖包。
2、使用源码编译生成安装包;
优点是在目标机器可以直接使用编译结果,缺点是需要额外的机器
找一个内核与发布版本都与你的网关Linux相同的机器,上传你要编译的源码,一般官网提供的是xxx.tar.gz。按照下面步骤操作:
a、解压;
b、执行configure;
c、make;
d、make install
e、把install目录中的文件打包到目标机器解压;
f、在bin或者sbin等目录创建软链接到目标机器安装目录的bin目录下的二进制文件;
下面的例子是把openssl安装在opt/openssl目录下:
tar -zxf openssl-0.9.8y.tar.gz
cd openssl-0.9.8y/
./config shared threads --prefix=/opt/openssl
make
make install
执行完上面的命令,就会把openssl安装在编译机的/opt/openssl目录下,接下来只需要把/opt/openssl里面的内容拷贝到你的网关Linux机器即可,记得要在添加/opt/openssl/bin到环境变量PATH里面或者在/usr/bin目录创建软链接到/opt/openssl/bin下的二进制文件。
8、安装了一台Linux服务器,想自己编译内核,一步一步做下来,
一般情况下
initrd这个文件在台式机上不是必须的,但是在有SCSI设备的服务器上却是必须的。有可能因为编译内核的时候没有产生initrd那个文件,所以会有上面的错误提示。用户可以使用mkinitrd命令来生成一个initrd.img文件,然后加入GRUB,重启试一试更多内容请查看《Linux就该这么学》。
9、怎么重新编译linux服务器内核
make config首先配置内核,生成内核配置文件,如果是服务器上的,建议使用编辑好的内核配置文件,自己在服务器上配置比较麻烦;
make再根据生成的配置文件进行编译;
找到新的内核就可以使用