ubuntu编译安装程序

第一代安装方法:编译安装

安装依赖环境

root@neuro:~# apt -y install libpcre3-dev zlib1g-dev libssl-dev build-essential
root@neuro:~# apt install lrzsz -y

拖入 nginx-1.22.0.tar.gz安装包

root@neuro:/opt# ls
123  456  789  nginx-1.22.0.tar.gz  test.sh

第二步

创建用户

root@neuro:/# useradd -M -s /sbin/nologin nginx
-M:只创建用户,不创建家目录
-s:指定创建用户的登录shell,禁止该用户登录系统
nginx 用户名nginx

第三步

解包----------》配置-----------》编译--------------》安装

解压文件
root@neuro:/opt# tar -xf nginx-1.22.0.tar.gz
root@neuro:/opt# ls
123  456  789  nginx-1.22.0  nginx-1.22.0.tar.gz  test.sh
root@neuro:/opt# 
解包
root@neuro:/opt/nginx-1.22.0# ./configure --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx 
编译和安装
root@neuro:/opt/nginx-1.22.0# make -j4 && make install

第四步

安装完成之后对程序进行配置(权限,控制)

在/usr/local/nginx/ 文件夹下创建run文件夹
root@neuro:/usr/local/nginx# mkdir run
root@neuro:/usr/local/nginx# ls
conf  html  logs  run  sbin
改变所有者和所有组
root@neuro:/usr/local/nginx# ll
总计 28
drwxr-xr-x  7 root root 4096 10月 30 16:14 ./
drwxr-xr-x 11 root root 4096 10月 30 16:11 ../
drwxr-xr-x  2 root root 4096 10月 30 16:11 conf/
drwxr-xr-x  2 root root 4096 10月 30 16:11 html/
drwxr-xr-x  2 root root 4096 10月 30 16:11 logs/
drwxr-xr-x  2 root root 4096 10月 30 16:14 run/
drwxr-xr-x  2 root root 4096 10月 30 16:11 sbin/
root@neuro:/usr/local/nginx# chown -R nginx.nginx /usr/local/nginx
root@neuro:/usr/local/nginx# ll
总计 28
drwxr-xr-x  7 nginx nginx 4096 10月 30 16:14 ./
drwxr-xr-x 11 root  root  4096 10月 30 16:11 ../
drwxr-xr-x  2 nginx nginx 4096 10月 30 16:11 conf/
drwxr-xr-x  2 nginx nginx 4096 10月 30 16:11 html/
drwxr-xr-x  2 nginx nginx 4096 10月 30 16:11 logs/
drwxr-xr-x  2 nginx nginx 4096 10月 30 16:14 run/
drwxr-xr-x  2 nginx nginx 4096 10月 30 16:11 sbin/
root@neuro:/usr/local/nginx# 
改pid配置
root@neuro:/usr/local/nginx/conf# vim nginx.conf

检查配置是否正确
root@neuro:/usr/local/nginx/conf# /usr/local/nginx/sbin/nginx  -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
启动配置
root@neuro:/usr/local/nginx/sbin# vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/run/nginx.pid
#注意文件位置,如果不对 启动不了
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 
#注意启动文件位置
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
~                                                                                   
~                                                                                   
~                                                                                   
~                                                                                   
~                                                                                   
~                                                                                   
~                                                                                   
~                                                                                   
~                                                                                   
~                                                                                   
~                                                                                   
~                                                                                   
~                                                                                   
~                                                                                   
:wq!  
完成后重启
root@neuro:/usr/local/nginx/sbin# systemctl daemon-reload
root@neuro:/usr/local/nginx/sbin# systemctl restart  nginx

打开浏览器可正常显示网页

第二代安装方法:

第三代安装方法:

[root@localhost etc]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost etc]# cd /mnt
[root@localhost mnt]# ls
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
[root@localhost mnt]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv ./* backup
mv: 无法将目录"./backup" 移动至自身的子目录"backup/backup" 下
[root@localhost yum.repos.d]# ls
backup
[root@localhost yum.repos.d]# vim local.repo
[root@localhost yum.repos.d]# vim local.repo
 
cd /etc/yum.repos.d
mkdir bak
mv * bak/
vim local.repo
#进入编辑页面
[local]
name=local
#这是个描述信息,name=可以是任意内容
baseurl=file:///mnt
#指定光盘镜像的挂载目录作为软件的仓库源
enabled=1
#开启此yum源,可以不加,默认就是开启
gpgcheck=0
#不检查软件的序列号,加快下载速度
#按esc,输入:wq保存退出
yum clean all  &&  yum   makecache
#清楚之间的缓存信息   更新并同步元数据(保存每个软件之间的关系)
 
已加载插件:fastestmirror, langpacks
正在清理软件源: local
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
已加载插件:fastestmirror, langpacks
local                                                                                                            | 3.6 kB  00:00:00     
(1/4): local/group_gz                                                                                            | 156 kB  00:00:00     
(2/4): local/primary_db                                                                                          | 3.1 MB  00:00:00     
(3/4): local/filelists_db                                                                                        | 3.1 MB  00:00:00     
(4/4): local/other_db                                                                                            | 1.2 MB  00:00:00     
Determining fastest mirrors
元数据缓存已建立

安装httpd

[root@localhost yum.repos.d]# yum -y install httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-67.el7.centos 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-67.el7.centos,它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 httpd-tools.x86_64.0.2.4.6-67.el7.centos 将被 安装
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

======================================================================================================
 Package                 架构               版本                              源                 大小
======================================================================================================
正在安装:
 httpd                   x86_64             2.4.6-67.el7.centos               local             2.7 M
为依赖而安装:
 httpd-tools             x86_64             2.4.6-67.el7.centos               local              87 k
 mailcap                 noarch             2.1.41-2.el7                      local              31 k

事务概要
======================================================================================================
安装  1 软件包 (+2 依赖软件包)

总下载量:2.8 M
安装大小:9.6 M
Downloading packages:
------------------------------------------------------------------------------------------------------
总计                                                                   15 MB/s | 2.8 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : httpd-tools-2.4.6-67.el7.centos.x86_64                                            1/3 
  正在安装    : mailcap-2.1.41-2.el7.noarch                                                       2/3 
  正在安装    : httpd-2.4.6-67.el7.centos.x86_64                                                  3/3 
  验证中      : httpd-2.4.6-67.el7.centos.x86_64                                                  1/3 
  验证中      : mailcap-2.1.41-2.el7.noarch                                                       2/3 
  验证中      : httpd-tools-2.4.6-67.el7.centos.x86_64                                            3/3 

已安装:
  httpd.x86_64 0:2.4.6-67.el7.centos                                                                  

作为依赖被安装:
  httpd-tools.x86_64 0:2.4.6-67.el7.centos                mailcap.noarch 0:2.1.41-2.el7               

完毕!

安装完后记得启动服务

systemctl start httpd

成功显示网页

### 如何在 Ubuntu 系统上编译 C++ 程序 #### 安装 g++ 编译器 为了能够在 Ubuntu编译 C++ 程序,首先需要确保已经安装了 `g++` 编译器。可以通过以下命令来更新现有的包列表以及升级已有的软件包至最新版本: ```bash sudo apt update && sudo apt upgrade -y ``` 接着,如果尚未安装 `g++`,则可通过下面的命令完成安装: ```bash sudo apt install g++ ``` 确认安装成功后,可以查看当前使用的 `g++` 版本号以验证安装情况。 #### 创建简单的 C++ 源文件 创建一个新的 C++ 文件作为例子,在终端中输入如下命令新建名为 `helloWorld.cpp` 的文件,并编辑其内容为一段基本的 “Hello World!” 输出代码: ```cpp #include <iostream> int main() { std::cout << "Hello, world!" << std::endl; return 0; } ``` 保存上述代码到 `helloWorld.cpp` 中[^1]。 #### 使用 g++ 编译 C++ 程序 有了源代码之后,就可以利用 `g++` 进行编译操作了。最简单的方式是在命令行里执行下列指令来进行编译工作: ```bash g++ helloWorld.cpp -o helloWorld ``` 这里 `-o` 参数指定了输出可执行文件的名字为 `helloWorld`;如果没有这个选项,默认生成的二进制文件名将会是 `a.out`[^3]。 #### 执行编译后的程序 一旦编译顺利完成,即可直接运行刚刚产生的可执行文件: ```bash ./helloWorld ``` 此时应该能在屏幕上看到打印出来的字符串:“Hello, world!”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值