ubuntu服务器部署过程
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">关闭欢迎消息</a></li><li><a href="#_label1">修改hostname显示</a></li><li><a href="#_label2">关闭超时断开</a></li><li><a href="#_label3">防火墙配置</a></li><li><a href="#_label4">安装web服务</a></li><li><a href="#_label5">配置nginx</a></li><li><a href="#_label6">配置mysql</a></li><li><a href="#_label7">配置php</a></li><li><a href="#_label8">测试php是否生效</a></li></ul></div><p class="maodian"><a name="_label0"></a></p><h2>关闭欢迎消息</h2><p>服务器安装好 ubuntu 系统后,进行终端登录,会显示出很多的欢迎消息</p>
<p>通过在用户的根目录下执行 <code>touch .hushlogin</code> 命令,再次登录终端就不会出现欢迎消息</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202502/2025021710292814.png" /></p>
<p class="maodian"><a name="_label1"></a></p><h2>修改hostname显示</h2>
<p>修改 <code>/etc/hostname </code> 文件内容为主机名,保存后重启系统</p>
<p class="maodian"><a name="_label2"></a></p><h2>关闭超时断开</h2>
<p>修改 <code>/etc/ssh/sshd_config</code> 的配置,在文件最后增加两行,值视情况修改</p>
<p>修改后运行 <code>systemctl restart sshd</code> 重启生效</p>
<blockquote><p>ClientAliveInterval 60 # 每隔 60 秒向客户端发送一个心跳包<br />ClientAliveCountMax 3 # 如果连续 3 次没有收到客户端响应,则断开连接</p></blockquote>
<p>修改 <code>SecureCRT</code> 的设置,点击 “Options” -> “Terminal”,勾选 <code>Send Protocol NO-OP</code>,设置一个时间值</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202502/2025021710292815.png" /></p>
<p class="maodian"><a name="_label3"></a></p><h2>防火墙配置</h2>
<p>初始化情况下,防火墙并没有启动,使用 <code>ufw enable</code> 进行启用防火墙</p>
<p>防火墙启动后运行 <code>ufw status</code>,就会看到防火墙的状态为活跃状态 <code>Status: active</code></p>
<p>通过 <code>ufw allow 80</code> 指令添加允许的端口,下面的端口应该加到允许列表中,其他端口视情况添加</p>
<div class="jb51code"><pre class="brush:plain;">22ssh访问的端口
80http的默认端口
443 https的默认端口</pre></div>
<p>通过 <code>ufw status</code> 查看防火墙的状态,可以看到当前已经开启的端口</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202502/2025021710292816.png" /></p>
<p>通过 <code>ufw status numbered</code> 可以查看规则的 numbered ,删除的时候需要通过 numbered 进行删除</p>
<p>删除规则的时候建议倒序删,因为删中间的记录,会导致后面的记录序号前移</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202502/2025021710292817.png" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202502/2025021710292818.png" /></p>
<p class="maodian"><a name="_label4"></a></p><h2>安装web服务</h2>
<p>想要简单的可以通过宝塔安装,但是宝塔的配置看起来十分混乱,所以还是自己安装更清晰一点</p>
<p>安装 nignx 或者 apache 服务,可选其中之一,安装后服务会自启动</p>
<div class="jb51code"><pre class="brush:bash;">apt update
apt install nginx
apt install apache2</pre></div>
<p>如果需要停止取消自启动,可以通过下面命令关闭</p>
<div class="jb51code"><pre class="brush:bash;">systemctl stop apache2
systemctl disable apache2</pre></div>
<p>安装 php 服务的指定版本,php 对应的组件建议也安装下,特别是 php7.4-fpm 这个</p>
<div class="jb51code"><pre class="brush:bash;">add-apt-repository ppa:ondrej/php
apt update
apt install php7.4 php7.4-cli php7.4-fpm php7.4-mysql php7.4-json php7.4-common php7.4-xml php7.4-zip php7.4-curl php7.4-mbstring</pre></div>
<p>安装后可以通过 <code>apt list --installed | grep php</code>命令查看当前安装了哪些 php 的应用模块</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202502/2025021710292819.png" /></p>
<p>安装 mysql,默认会安装 8.0 版本的,client 也一起安装上,安装后 mysql 服务也会自启动</p>
<div class="jb51code"><pre class="brush:bash;">apt install mysql-server mysql-client</pre></div>
<p class="maodian"><a name="_label5"></a></p><h2>配置nginx</h2>
<p>nginx 的配置文件在 <code>/etc/nginx/nginx.conf</code>,修改配置然后 <code>nginx -s reload</code> 进行重新加载</p>
<p>配置重载生效后,通过浏览器访问页面显示出 <code>Hello World!</code> 表示配置成功</p>
<div class="jb51code"><pre class="brush:plain;">user root;
worker_processes auto;
pid /run/nginx.pid;
#include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
set_real_ip_from 0.0.0.0/0;
real_ip_header CF-Connecting-IP;
real_ip_recursive on;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
log_format main 'client[$remote_addr] cf[$realip_remote_addr] - $scheme[$time_local] request[$request] '
'$status send[$body_bytes_sent] host[$host] refer[$http_referer] useragent[$http_user_agent]';
map $http_user_agent $loggable {
default 1;# default log to access.log
"~*test" 0;# remove log if User-Agent contain "test"
}
access_log /root/nginx/logs/access.log main if=$loggable;
error_log/root/nginx/logs/error.log;
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
server {
listen 80 default_server;
server_name _;
location / {
default_type text/plain;
add_header Content-Type text/plain;
return 200 'Hello World!';
}
}
}</pre></div>
<p class="maodian"><a name="_label6"></a></p><h2>配置mysql</h2>
<p>终端运行 mysql 命令连接,然后使用 <code>ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';</code> 进行修改密码</p>
<p>修改密码后,通过 <code>FLUSH PRIVILEGES</code> 生效</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202502/2025021710292820.png" /></p>
<p>如果要设置允许外部主机连接数据库,可以参考 <a href="https://www.jb51.net/database/335948xwc.htm" target="_blank">我的另一篇文章</a></p>
<p class="maodian"><a name="_label7"></a></p><h2>配置php</h2>
<p>修改 <code>/etc/php/7.4/fpm/pool.d/www.conf</code> 配置文件,将下面的 <code>user、group</code> 改为 <code>root</code> 用户</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202502/2025021710292821.png" /></p>
<p>修改之后,还有一个地方需要修改,通过 help 可以看到,php-fpm 默认是不支持 root 启动的,需要以 R 参数启动</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202502/2025021710292922.png" /></p>
<p>在 <code>/usr/lib/systemd/system/php7.4-fpm.service</code> 文件的启动命令加一个 R 参数,允许以 <code>root</code> 启动</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202502/2025021710292923.png" /></p>
<p>修改完毕后,运行 <code>systemctl daemon-reload</code> 使得 service 配置修改生效</p>
<p>然后再运行 <code>systemctl restart php7.4-fpm</code> 进行 php 模块的重启</p>
<p class="maodian"><a name="_label8"></a></p><h2>测试php是否生效</h2>
<p>配置好 php 之后,在 nginx 中新增一个location,内容如下</p>
<div class="jb51code"><pre class="brush:php;">location ~ \.php$ {
root /root/nginx/html/;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}</pre></div>
<p>在 <code>/root/nginx/html/</code> 目录下新增一个 phpinfo.php 的文件</p>
<div class="jb51code"><pre class="brush:php;"><?php
phpinfo();</pre></div>
<p>重新加载 nginx 配置,然后浏览器访问 http://IP地址/phpinfo.php 就可以看到以下的页面信息了</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202502/2025021710292924.png" /></p>
<p>到此这篇关于ubuntu服务器部署过程的文章就介绍到这了,更多相关ubuntu服务器部署内容请搜索琼殿技术社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持琼殿技术社区!</p>
頁:
[1]